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.
px4io driver: Deallocate perf counters in destructor properly
eeprom driver: Use less excessive perf counters on EEPROM
nshterm: Use only the stack we really need
Reduce top stack usage
Save code size on commander, reduce stack size of starting tool (NOT OF THE APP ITSELF!)
Hotfix: Fixed wing default parameters contained an unknown name
Let the param set command default to non-failing, because unknown params are in the script default init not a reason to give up on the complete boot
Merge branch 'perf_cleanup'
Fix error on some compiler
Merge pull request #944 from ultrasystem/patch-1

Fix error on some compiler
Reduce commander stack size mildly
Reduce mavlink stack size slightly
reduce stack size of dataman start handler
Reduce stack size of navigator startup handler
Reduce stack size of sensors module start handler
Reduce stack size of PWM tool
Reduce stack size of perf tool
Reduce stack size of preflight check tool