Add a simple caching YAML backend + test script

The caching code is copied almost verbatim from my pim app;
probably should be unified someday.

--HG--
branch : yaml-backend
Extract model to a module

--HG--
branch : yaml-backend
merge

--HG--
branch : yaml-backend
Begin migration to Python 3, replace Flask with Bottle

--HG--
branch : yaml-backend
Fix requirements

--HG--
branch : yaml-backend
Begin replacing Hamster storage with YAML+caching

--HG--
branch : yaml-backend
rename : caching.py => timetra/caching.py
rename : models.py => timetra/models.py
Rename a sample script so py.test can ignore it

--HG--
branch : yaml-backend
rename : test_yaml_caching.py => test-yaml-caching.py
Add tests for the new storage. Make databasE AND caching backends mockable.

--HG--
branch : yaml-backend
Add tests for Storage methods add/update/delete

--HG--
branch : yaml-backend
Merge trunk into branch

--HG--
branch : yaml-backend
Upgrade to monk==0.7.  Update other requirements.

--HG--
branch : yaml-backend
Merge trunk into branch

--HG--
branch : yaml-backend
Merge trunk into branch

--HG--
branch : yaml-backend
Fix activity regex
Add --compact mode to `find` command
Merge master into yaml-backend

--HG--
branch : yaml-backend
Add add() and find() methods to YamlBackend

--HG--
branch : yaml-backend
Add get() and get_latest() methods in YamlBackend; add optimization hint in fact collector

--HG--
branch : yaml-backend
Fix reversing facts in storage

--HG--
branch : yaml-backend
Dump multi-line fields to YAML as literal blocks

--HG--
branch : yaml-backend