Allow screen authentication and login using an API

This will be how Concerto Players (Bandshell) authenticate to the
system. The basic mechanisms used are JSON requests and http basic
auth. Closes #712.