Add specialised toJson methods on each model. This is a major faff,
but it's arguably better (if not in line length) then doing serial-
ization via reflection. Gross reflection serializer method is now
gone, which is definitely no bad thing.
Initial, somewhat gross, implementation of password logins. There is
still much work to be done to make this nicer.