upgradeWaiterWorker: comments and edits to improve clarity
apiserver.NewServer now takes a struct for the server params

There were already too many arguments being passed to this function
and another one is about to be added.
Added login validation to the API server

This allows an option function to be supplied when the API server is
constructed which will decide whether a login request can proceed.

This will be used to prevent agent logins during upgrades (while still
allowing client logins).
Merge pull request #84 from mjs/login-validator-support

API Login validation

These change the API server so that it can be configured with an optional validator function for API logins. This will be used by machine agents to block agent logins during software upgrades while still allowing client logins (coming in a later PR).

There are 3 commits. The first is just a comment improvement, the second modifies apiserver.NewServer to take a struct instead of a long list of args and the third adds the validation support.

I'm not especially wedded to the "validator" name. Other suggestions welcome.