OCSADV-154 core target model updates

This updates the currently unused core target model (taken from the PIT) as follows:

- Added `NamedTarget` for solar objects that are known to the TCS
- Added `JplComet` and `JplMinorPlanet` which are two of the types of conic target known to the TCS, and the only ones supported by OCS.
- Added property-based tests.
- Added lenses for property updates known to be needed by the OT (incomplete).
- General cleanup, scaladoc, etc.

As the new model isn't used at all yet, I would just look at this PR as the initial checkin rather than a diff.
They're just infix type constructors; `@>` is an alias for `Lens` and `@?>` is an alias for `PartialLens`, both of which are aliases for fancier types. You get used to the symbols after a while.