PR for #193 - Adds SSL support

Adds basic SSL support in.

*  Uses a default server key and server cert with the FQDN 'localhost', there is no password or any other information and if this key ever makes it into the wild it will error all over the place.
*  A developer can create their own keys and provide them in an "https" configuration option,
*  The certs used now will never be valid and will look they they are failing in the browser, they are only failing validation, the connection will be encrypted and all the domain security stuff will still apply (i.e, mixed mode content warnings in the browser).

Note(1):  Every so often the server doesn't start within 2 seconds so the the e2e tests fail
Note(2):  I think I followed the style guide for JS.
Note(3):  This needs testing with xip, I believe it will work but the developer will need create a self signed key for the FQDN.