Stub out updater configuration options

This introduces three new options:

- updates_enabled (toggled on/off via the configuration dialog to allow
  enabling/disabling the feature, with the ability to also toggle off
  from the updater dialog if the user says "stop checking for updates")
- updates_postpone (temporarily stops checking for updates until the
  current time passes the timestamp stored by the option, triggered if
  the user says "remind me again in 1 week" or similar)
- updates_ignore (temporarily skips the current update, using the
  version string returned from the update server, triggered if the user
  says "skip this version")
Configuration checkbox for updates

Adds a "check for updates on start-up" checkbox to the advanced panel of
the configuration window.
Basic update backend framework

Adds an 'Updates' class that can be used as a "backend" for actually
doing the update checks, whether they be automatic or from the GUI.
Main update download and parse logic

Provides logic for the updates worker such that components of the add-on
can now ask for update information.
Update checking after profile load once

Hooks the update check in after the profile load and makes sure that it
only does the update check one time.
Switch to semantic versioning

This brings this project's version strings in-line with the rest of the
community and eases some internal logic. With this change, the next
release will be 1.0.0.
Configurable endpoint for updates

Moves the endpoint URL formation to the package's __init__ so that
local testing can be more easily done against different endpoints.
Move add-on code into addon/ subdirectory

This makes room for the new web code to come in.
Integrate web subproject

Brings in the entire tree for the web project, including Grunt building
and dependency declaration.
Prevent robots in test environment

When deploying to GAE in the "test" version, suppress the robots.txt
rules such that they exclude-all instead.
Separated GAE deployment targets

Breaks the stable and test environments apart, making the shell tasks
sanity checks on deployment to the stable environment.
Improve API messages

Makes these more consistent (e.g. whether they're sentences or not).
Minor clean-up of worker update logic

Improves messages and adds an additional trim() check.
Adjust update formats

Enables more fine-grained update resolution in the future if needed.
Update documentation links

These now include the new website (and the Anki add-on forum, too).
Fix documentation error

There are no longer any 400 errors in the unresolved module.
Add AGPL license boilerplate to web subproject

Inserts the boilerplate to all files in the web subproject that support
comments of some sort.
Refactor instance members for Updates class

Consolidates instance members for Updates class (_callbacks,
_got_finished, _got_signal, and _worker become a dict called _worker;
the old _worker becomes 'instance' in the dict).
Better user agents

Improves usability of this to push an update in the event of an odd
combination of things that causes problems.
Basic update dialog skeleton

This displays an intro line, a list of changes, and a synopsis at the
end. More to come.