Optional Server Password

Hi @vladikoff,

I've cleaned up and centralized some of the password logic here, and also made the password optional (e.g. empty password string conf is now treated as no password here).

cc @jamesreggio
The `conf.get('password') === ''` logic for avoiding password checks is being encoded in two different places.

Perhaps you should just skip the ternary to select different middleware and use `authMiddleware` in both places. It should function the same.