Allow PUT API to update user.
A user's public_key is the only attribute they should be able to update via API.
Remove public key if the key is passed as nil, but not otherwise.

There was a weird case with reloading the user in the test if the public key had been unset.
Merge pull request #23 from leapcode/feature/rest_api

Allow PUT API to update user.