Reduce potential dataman memory fragmentation

The data manager dynamically allocates relatively small work item blocks
on an as needed basis. It never frees these, instead maintaining then in
a list of available block for reuse when needed. Even if these blocks
are small, the are required at non-deterministic times and can end up
scattered in memory thus causing memory fragmentation. In order to
mitigate this problems work item blocks are allocated in groups of 8 in
contiguous memory to reduce the number of scattered memory allocations.
In reality, based on current usage, rarely will more than one group of 8
be allocated.
Free data manager work items the same way they were allocated

Since data manager work items are allocated in groups of 8, they need to
be freed the same way should the manager need to stop.
commander: Cleanup properly after out-of-mem error
startup: NuttX seems to free memory only AFTER the next command is issued, requiring us to give it some time to do memory management so it does not keep starting tasks on top of each other. May need some consideration on main startup script as well.
Merge pull request #938 from jean-m-cyr/master

Reduce potential dataman memory fragmentation
Merge branch 'master' of github.com:PX4/Firmware into stack_sweep
commander: Reduce calibration count, minimally reduce stack sizes after careful inspection
param command: Reduce stack size to 1800 after careful testing
reboot command: Reduce stack size to 800 - it really just reboots and does not need stack
sdlog2 start tool: Reduce stack, since it just starts the app
USB startup: Give NuttX enough time to tear down an app and free memory before starting the next
mavlink start tool: Reduce stack size to 1000 - it is really just the commandline handler