Wrap History.md text to 80 chars. Fixes #318.

Also, when triply-nested <UL>s are necessary, the third level needs to be
embedded by at least 5 spaces, at least as processed by Showdown (see the
_Outdent function, which will flatten 2 and 4 space indents to the same level).
Fall back to UNIQUE_LABEL on {{#each cursor}} (#281)
Update license file for new dependencies.
Don't _diffQuery on the client unless necessary.

We want to _diffQuery when we've just quiesced after a method completion or a
subscription becomes ready, but if we're in the steady state and just got a
single subscription update from the server, we can run observers directly (which
should be faster).
Make LocalCollection.remove(id) O(1) instead of O(n).
Comment on upcoming fix in node that means we can remove our hacky patch.
Spark no-op fix: If we're going to annotate list items with a typed range, we
should be consistent and do that for non-initial items as well. (Nothing ever
looks for this type currently, though.)
Throw a helpful error if we can't find a package.
A package directory MUST contain a `package.js`

So we know for sure after calling `get_package_dir` that we can then read the `package.js` file without things exploding.
generate-dev-bundle.sh: add reminder to update LICENSE.txt.
Fix {{#dtdd}} handler in docs for 0.3.8 changes.
Basic email support.
Follow-up to 0ed8555 (no-op, different structure).
fix Spark constant patching by improving elementContains (fix #323)
add missing semicolon
Better error reporting for coffescript.

Use CS's inbuilt filename reporting, and use `bundle.error` rather than throwing.
Fixes #331
Allow timer callbacks to participate in WriteFences.

This is a carefully considered change motivated by Tinytest, which
fires timers from a method and then waits for them before returning.
Because the timer callbacks didn't have a WriteFence, we had a race
condition a while back where the test client would quiesce before all
the results came in, which I fixed by giving Tinytest its own timer
functions that kept the environment, including the WriteFence.
I want to tear these special timer functions out now, since they are
necessary (before this commit) for very obscure reasons.  The race
condition is hard to reproduce and is affected by Mongo latency, the
order of the unit tests, etc.  (I reproduced it semi-stably to test
this commit, and it was tricky.)

The change is to give timer callbacks the WriteFence and allow them
to add writes before or after the fence fires.  Writes that they get
in before the fence is armed are included in the fence, and writes
made after the fence fires still succeed (the fence is "retired" and
doesn't complain that it has already fired).  In practice, this means
that methods that care about the writes happening as part of the
method, like Tinytest's run method, can wait for them, and methods
that don't care to wait will just return and let the writes trickle
down the pipe later (as they could before).

In a discussion with Geoff a few weeks ago, he said fences in general
should still complain about late writes unless they are put in a
special mode, so there is now a retire() method.
Remove special Tinytest timer functions
Script in admin/ to build spark.js
Unit test for fix to #323