runner refactor - WIP (rejigger runOnce/entry point)
getting into pretty good shape now!
minor edits
Finish documenting htmljs package
Fix typo (spotted by cscott)
Route Spacebars errors properly

Now Spacebars syntax errors (as well as html_scanner errors) go through proper error reporting channels rather than throwing exceptions.  For simple cases, we are back to showing nice errors like Handlebars did on devel, with context.

Next:  Comb the spacebars compiler for errors that are thrown or lack good line numbers.  Go through our own list of bad error messages.
tweaks
fix more Spacebars errors
Add missing 'random' dependency to retry
Merge remote-tracking branch 'origin/devel' into sso
Improve error message for <input></input>

...and other cases where we see an unexpected HTML end tag.  We'd previously say "Expected EOF", among other things.
Fix ellipsis in error display; test errors
observe-sequence: simplify and optimize by not fetching cursors that change
Use OplogObserveDriver for most selectors.

Previously OplogObserveDriver was only used for selectors which
performed equality checks against scalars. Now that we believe minimongo
to be more robust in the face of more MongoDB edge cases, we use
OplogObserveDriver (if configured) for any selector that minimongo can
compile except those containing $near or $where.

(We still do not use OplogObserveDriver for cursors with skip or limit.)
List source files in htmljs readme
Remove source files from readme
Disallow {fields:{_id:0}} in observeChanges

This implies it is not allowed in `observe` either, or in cursors
returned from publish functions, or in cursors used in {{#each}}

Why? observeChanges and DDP publication use the ID as part of the
callback/message, and eliding it completely breaks them. Meteor UI uses
the ID with {{#each}} to properly move nodes around instead of
re-rendering. We could try to allow it for `observe` outside of
{{#each}}, but it would feel somewhat inconsistent.
document html-tools
prose edits
More wordsmithing
read MONGO_URL from environment in commands.js, not run*.js