Changed the way updates are handled in model

Also added more functionality to model
Major view refactor to MVC design pattern

Rewrote pretty much the entire view. This was needed to
better organize where various method calls were going, and
to limit the views from making reckless calls to the view
controller (and occationally the model *shudder*) The new
structure makes these calls much easier to follow, and should
increase development time from here on out.