Zero channels support

Re-opened version of #13.

In addition to settlerlib support for empty chains, this also adds the ability to specify a variance for the x, y and z axis that is added on top of the covariance matrix computed using the kinematic model.

This way, you can have a chain with 0 or 1 joint in it, or a longer chain with only coaxial joints, in which case you would end up with a non-invertible covariance matrix.

The system.yaml would e.g. look like this:

    sensors:
      chains:
        floor_chain_0:
          root: base_link
          tip: base_footprint
          cov:
           joint_angles: []
           translation: [0.05, 0.05, 0.005]
          gearing: [1.0]