Triggering observers for parametrized SELECT queries.

Specifically:
- Refactoring ObserverRegistry such that internal book-keeping is easier.
- Removing ObserverRegistry#getResultsForQuery() and replacing it with
updateResultsForQuery().
- Adding a version number to lf.query.SelectContext, which is increased every
time bind() is called.
- Keeping track of last published results version number in ObserverRegistry.
- Modifying QueryTask to immediately notify observers if no queries need to
re-run, or schedule an ObserverTask if queries need to re-run.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=80222110
Fixing dem_setup.md numbered list.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=80225063
Data binding demo (Chrome-only).
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=80225635