Overhaul of the authentication and redirect logic.

Removed duplication between server-side and client-side initiated logins
by simplifying the application code and allowing various system states
to be handled by the authentication javascript. Also concentrating logic
that interacts with the Concerto server into HardwareApi and PlayerInfo
classes as appropriate to slim down the action logic.

More work required before this is ready for prime time.
Do not rely on Google for jQuery dependency!
Doctors recommend 1 Favicon daily to keep 404s out of your logs.
Get Player Info updates working again
Handle network and server errors

Goal is to ensure that the screen never goes down because there is a
problem communicating with the server. Since the frontend will refresh
continuously, we will display the error but once it is resolved,
operation resumes as normal.

Unfortunately, an HTTP request can result in a plethora of errors,
including HTTP-related errors, SocketErrors, and more. Therefore we
have a catch-(nearly)-all which is limited just to those requests.
Merge branch 'auth-refactor'

This brings in a number of commits to restructure and simplify the code
that Bandshell uses to communicate with the server, including on error
handling for network and server issues as discussed in #29.