NuttX update

*DO NOT MERGE YET*

This is a pretty massive NuttX update (1016 commits!). The current state compiles fine and passes initial tests. It needs a further update to reflect the changes since December 10, but apart from that is ready for review.