StateEstimation: module that utilizes the new filter architecture

This supports SE(3) filters and generic filters currently.  In the
case of a generic, it is expected to fetch all of its own data.

An important TODO for this (and for generics) is the ability to
disconnect queues not in use.  For example since the core code
provides an infrastructure for SE(3) filters that should only be
enabled in the case of running and SE(3) filter and should be
disabled otherwise.  At this point it will probably make sense
to move process_filter_s3 into its own file within the module
(since this is still not really filter code) and add two functions

init_filter_class_infrastructure_s3
deinit_filter_class_infrastructure_s3
Filter: add id handle for current filter

This will allow future implementations to support simultaneously
running multiple instances of the same filter, and provides a
convenient way of managing the working data.
StateEstimation: remove run time selection of filter

The possibility of changing the filter at run time and having
to change the set of connected queues etc is not very easy to
deal with so for now, with little loss of functionality, just
disallow it.
Filter: deinit no longer required

Since we no longer intend to stop filters this function will never
be called.
StateEstimation: only set up SE(3) queues when needed

Since we cannot change filters at run time, only configure the SE(3)
queues when they will be used.  This removes the need to flush
queues when running other architectures.
StateEstimation: use an array of filter driver to map to UAVO

This removes the switch to select filters previously.
StateEstimation: abstract the filter class infrastrcutures out

Now each filter class has its own structure of callbacks to prepare
and process each filter.
StateEstimation: move the general SE(3) interface into the filter library

Now each exposes a general process method which then knows how to handle
all the infrastructure specific code.

An example for insgps is provided which initializes the SE(3) architecture
during its own initialization and then is called from
    filter_infrastructure_s3_process

which takes care of the common queue and uavo handling work.
StateEstimation: small fixes
Filter: move the queues into the SE(3) data structure

No need for them to be static.  There is still a question of whether
there should be one queue shared amongst the SE(3) filters which is
more efficient but more complicated logic.