Safer implementation with more models, add apparent/local sidereal time

Also changed internal use of lon, lat: swapped order in call sequence to
match convention (and coordinates), made default None, so that error can
be raised if an local sidereal time is requested, and used Longitude/Latitude
for them so that they can be defined much more easily.