It is now possible to configure each individual command that will be compiled in the shell:
```
shell = { commands = {'ls', 'ver', 'type' } }
```
If not specified, all the available commands will be compiled (which is backwards compatible).
Also, the `advanced_shell` attribute is gone, replaced with an `advanced` key in the shell
configuration. So write this:
```
shell = { advanced = true }
```
instead of this:
```
advanced_shell = true
```
This should really be more than one commit, but here it goes anyway:
- added STM32F4 CDC UART support. For some reason, it seems to work only
on the OTG_FS interface, the OTG_HS interface enumerates it, but
doesn't seem to send/receive any data.
- removed the "platform interface" functions for CDC UART. That was
never really a platform interface, just a couple of functions reading
and writing data from/to a CDC UART. Now each backend takes care of this
as a special case in its platform_uart_xxx functions.
- added buffering support for CDC UARTs
- added uart.CDC to the uart module, so the CDC uart can be used directly
from Lua.
- stm32f4discovery now defaults to using the CDC, since it doesn't have
a dedicated UART connector.
- AVR32 platform converted to use the new build system
- new section in configuration: 'build'. Used to set predefined
build parameters (such as allocator, target, boot mode...)
- more build configuration attributes (allocator, target)
- more sanity checks
- more color in the builder
- 'romfs' is now a separate builder target, not a function being called separately
- added mappings for the configurator attributes