Add ability to create recurrent reports via UI

Changes to be able to create recurrent reports via the UI include a
major refactor of ReportNode tree.  Added tests for class methods on
RunReport.

Added 'MyReports' inbox-like UI with icons for public/recurrent reports.
Added ability to toggle whether a report is from the UI. Includes
creation and deletion of public report files. Included attribution
for Entypo icons.

Added file_manager_api.py to encapsulate access to the filesystem.

Upgraded test infrastructure by adding a dependency to mock package.
In order to properly mock session scoped objects we have upgraded
flask to 0.10.

Missing: proper interaction of recurrent and public reports.
Missing: tests have non-deterministic outcomes.  For example, tests that
must turn off the scheduler mode temporarily or tests that rely on the
queue to pick up a task during a call to time.sleep(1)

Change-Id: I1260a6690c145aaa084f33a110a758d3a88d3823
Card: analytics 1378