SSL Setup

Fixes #122. Handles both a generated self-signed certificate as well as a CA signed certificate.
The consensus I saw was that 2048 bits is sufficiently secure until at least 2030. Larger keys take more CPU and are going to be slightly slower. I had a CA reject a 4096 bit key because it was "too big". Worth revisiting in the future.