Build: Split out field model from lib

Persistence logic will live in managers inside /lib/ and models will live
in /model/. Managers will continue to be stored on the DEBT instance and they
will have methods for getting model instances.
User: Created user model
Auth: Load user model into session instead of raw data

Added custom JSON serialization for user model.