User Views

Added the user_views metadata to the users model. This new metadata is
basically an object that just keeps track of all the threads a
particular user has view and at which point in time that user viewed
said thread.

There are two new methods, getUserViews and putUserViews. getUserViews
takes in a userId and retrieve that object that contains all the user
views for that id.

The putUserViews takes in a userId and a userViewsArray object. The id
is used to pull the correct userViews object and the array of user views
is added/updated to that object. The put call has a lock around it to
prevent any concurrent calls from overwriting data.