Added SSL support to butterfly.

Added SSL certificate capability to butterfly. Butterfly now
has the --secure option, which requires the following files
to be present in the local folder:
  - butterfly.crt
  - butterfly.key
  - butterflyca.crt
This option forces butterfly to use HTTPS and secure
WebSockets. The connection still requires a username
and password.

There is also the --reallysecure option, which forces
the user's browser to provide a client side certificate.
The certificate is validated against butterflyca.crt, before
allowing the connection. Afterward, the commonName in the
certificate is used as the username for the connection.
The connection still requires the user to provide a password.

Also forced a default user "daemon" to be returned by the
User class, as it prevents someone from finding valid users
on the remote host.