Filter architecture

This introduces a new filter architecture that is designed to make it easy for researchers to develop new filters and focus on the math while abstracting as much of our underlying architecture away as possible.

It is disabled by default as the existing implementation is more mature but It currently compiles for all platforms:
    make V=1 FILTER_ARCHITECTURE=YES -j8 all_flight

will bring it in.  The complementary filter has been ported to this new API already and has been flight tested on Sparky.

flight/Libraries/filters/template_se3_interface.c provides a minimal example for getting started with a new filter.  flight/Libraries/filters/cf_interface.c provides a working example of a complementary filter (new position updates).