Change time formating to use functions instead of methods.

This way the functions can be shared, instead of reimplemented all the time.
Fixes #35
Only use one set of templates.
gofmt

Sorry.  I need to add the commit hook on this machine.
Get the user in the transaction to prevent a datarace.

If the user adds two feeds at once, they could lose one feed.
Limit to 50 feeds.

Fixes #30
Report an error for an invalid feed URL.

Fixes #3
Merge pull request #37 from eaburns/dev/eaburns

A few smaller fixes.
Rename MaxCacheTime to maxCacheDuration.

No need for this to be exported, and it's a duration, not a time.
Rename Feed to FeedInfo and feedInfo to userFeedInfo.

FeedInfo will (eventually) just contain information about the feed,
but not the feed itself. Each article will be stored as its own
entity. To avoid confusion, feedInfo is now called userFeedInfo; it
contains information about a user's feed subscription.
Use []byte for article descriptions.

Fixes #32
Allow HTML in article descriptions.

Fixes #17
Store individual articles in the datastore.

Fixes #33
Rename root.html to list.html.

This is no longer the root page.
Remove empty space between articles.

Acme puts each win directly on top of the next. Also, once we hide
articles bodies, this will have the effect of a bunch of stacked tags.
Add acme-style boxes on the left of the tag.

As a consequence, the articles aren't centered, but I think that I like it better that way.
Put article metadata in the tag and minor style tweaks.
Use title-case for article titles.

Married to the Sea uses all lowercase, and it has been bothering me for a while now.
Use shorthand for the article border-style and border-width.
More style changes.
Add expand all and collapse all links to the feed page.

Enter JavaScript.