Merge #137

137: Enable support for multiple boards and architectures r=Woyten a=Woyten

This PR is a starting point to support multiple boards and architectures. The design is as follows:

- Before the code is compiled a `build.rs` script selects an appropriate linker script. This selection is based on whether the environment variable `PLATFORM` is set or the file `platform` is present.
- When using `cargo run` on an embedded target architecture, the script `flash.sh` is executed instead of directly running the binary. `flash.sh` is a replacement for `run_example` and contains a new but incomplete dispatching section which determines the appropriate `tockloader_flags` for the currently selected platform.
- Aliases like `cargo rtv7em` are shorthand for `run --release --target=thumbv7em-none-eabi --example`

Co-authored-by: Woyten <woyten.tielesch@online.de>