Move most of the logic in sorting games to server

In an attempt to improve the speed of the UI, move most of the logic in determining where the game is placed in the UI to the server.  In doing so, a new controller has been created which will return all the games for a certain user, and includes if the game was watched and any notes.  It also sorts the games by the game time UTC.  This allows the UI to make 1 API call, and simply display the result.

Still need to handle updating the games notes/watched status, but this first pass should determine if the changes done improves the UI performance.
Move fetch for user data to router

To verify performance, move the fetch of the user data to the router prior to rendering the games view.
More performace improvements in UI

Instead of rendering all the games, just render those that are available and initially hide the future and archived games.  When a user clicks on either future or archived, render those and display them.  Also show "Loading..." on the main page prior to rendering any games.
Split rendering of future/archived games

Instead of rendering both future and archived games when either is
selected, split it so they are rendered independently when selected.
Also allow toggling of the available games.  Minor CSS tweaks for look.
Add logic to update games

With the logic rewrite to use view models instead of the multiple API
calls in the UI, we needed an ability to update games for
notes/complete.  Instead of using a PUT, use a PATCH so that Backbone
just sends the game information rather than all the games (from the
view model in the original GET request).  WIthin this API, perform the
necessary calls to update the existing user's sportsWatched array with
the data sent in.
Add placeholder/autofocus to notes UI

Add a placeholder and set autofocus to the notes text field in the UI.
Minify JS/CSS

Add grunt tasks for minification of JS/CSS.  This required using
absolute paths in require instead of the /assets to /public translation
done in express (at least for now).  So any place /assets existed was
changed to /public.  Also used relative paths in main.js and in loading
of templates with the text plugin.

New production version of the view was created to include minified
versions of the JS and CSS.  Almond was also included which is used for
require "define" stanzas.  Minified versions are checked in and created
using the grunt default task.
Move determining game state to server

Determine the game state (available/archived/future) on the server to
reduce client side computation.
Bundle games by game state

Place games into groups by game state in the API, to allow direct
access on the client side.  Update the client code to adjust based on
changes.
Limit the display of games, allow more via button

Instead of an all or nothing approach, display a small amount of games
to begin with and use buttons to display more games each press.  This
should retain the increased performance but also display what's
available and upcoming to begin with -- compromise.
Generate minified version

Be sure and clean prior to running grunt, and generate the minified
artifacts
Use variable for games to load

Instead of hard coding 10 for the games to load, use the
amountOfGamesToLoad variable.