Make cpuload correct and more efficient for all configurations of NuttX

Currently cpuload assumes there are only 2 static threads - idle and init, this
is true only for "basic" config of NuttX, as there can be 3 more static threads:
paging, work0 and work1 - depending on config. In such cases cpuload
would mistake one of them for init (which in fact is always last), giving
incorrect results to "top"

Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com>
Clean up and compact the output to fit inside a 80 column display.

Bug fix:
- running/sleeping count

Plus:
- added task state
- show the idle task (to make the number of tasks match the reported number)
- convert some calc to floating point where it doesn't hurt performance (for clarity)
- accept 'q' (standard) and escape to exit the program
mpu6000 driver support for setting rate
Cleanup, WIP, needs a NuttX checkout to Firmware/NuttX now
Integration WIP with current NuttX version
Adjusted to renaming of TCB in NuttX
All apps compiling and linked (listed in NSH help), but not executing yet
Rename our 'task_spawn' to 'task_spawn_cmd' since NuttX now has its own version of task_spawn that's different.
Adjust upload target name for v1.x FMU
Merged master
Safe a dozen bytes of flash
Merged
Tracked task_spawn API changes for sdlog2 and att_estm_so3_comp
Merge branch 'master' of github.com:PX4/Firmware into integration
Merged
Merged
Merge branch 'integration' of github.com:PX4/Firmware into integration
merged
sdlog2: ARSP (attitude rates setpoint) message added, attitude rates added to ATT message
Merge branch 'master' of github.com:PX4/Firmware into integration