In #2, mrngm made the point that we should move to a more
standardized project structure. This commit does exactly that.
The new project structure is based on the repository listed at
<https://github.com/golang-standards/project-layout>.
Fixes#2.
This reverts commit 80092dea5b.
After enabling both HTML and plain-text templating, I found that
this introduces a lot more complexity in the code than was desirable
for a project in this stage. The result looked fine, wrapping plain
text in <pre> tags. However, it was neccessary to keep duplicate
template files, for HTML and text. This was cumbersome, added a lot
of bloat, etc.
This feature is postponed to when there is more product.
In a recent commit, I updated the key generation to Lucus' solution, in which
we don't have to do any format-preserving encryption, but where the
probability of collisions is amortized away (basically by doing exponential
backoff) by adding a character every time we get a collision.