CharlotteViewModel does not take and URLs

Lots of local storage retrieval and parsing duplication was spread
between the view and the javascript model. Move all of it into the model
to reduce duplication.