Partial publishing logic implemented.

Currently, able to contact server to authorize user attempting to publish,
and generate a suitable location for publishing. The URL for the upload,
and other information is sent back to WPM for the next step.

The current logic is for inmemory caching, which gets reset after
crash/program end, and local storage. In the future, it will be redis
caching, and S3 for storage.

Almost done, though not terrible for a day. I'll see what else I can do
tonight.