OCSADV-27: VoTable parser improvements

Several improvements to the VoTableParser and support for **ucac4** catalog output:
* The parser used fields to distinguish data pieces but it should really use just the **ucd**, a Field's name is not very relevant
* Parse magnitude errors
* Support magnitudes for IR bands
* Parse proper motion if available. An update to the `ProperMotion` class is included
* Fixes a case where **ucac4** returns a magnitude without a band (The value is ignored)
* Minor code formatting fixes
I have the feeling there may be a better way to do this. Convert Option[A \/ B] to A \/ Option[B] but this is the best I could manage