Allow hosting on heroku

This enables the server to be hosted on Heroku. You need to be able to set the postgres url to the Amazon RDS instance they setup, and use a specified port. This also replaces rsync with a cp command to make it work on very stripped down systems. Finally, you can't currently set the server url if you are not yet logged into an existing server (it redirects from preferences to login if you aren't logged in). This change allows preferences to be accessed if not logged in.

If these changes are pulled in, I am close to having a buildpack that will actually deploy the server to a Heroku instance. Hoping to have a 2 click heroku deploy to get a custom server instance deployed, then easy to set server url on the clients.
please make 464-468 a common function instead of copy-pasting it twice.