Encapsulate the concept of staleness into its own class

Extract it from a single helper method and wrap it in a method object.
This lets us add tests around it and then (later) split the domain
concerns from the view concerns.
Move the fakes so that they're namespaced by the test

Prevents errors since the names clash with names used in other tests.
Use the newly extracted method object for getting todo staleness
Refactor the calculation for staleness

Provide the number of days that the todo was stale instead of a class
name to use in the view.

We'll use the number of days stale in the helper to determine the class
name
Remove the fake preferences object

It's no longer needed since we're not using the preferences in this
object anymore.
Remove some of the time objects we no longer need
Move the view logic back into the helper

Staleness#days_stale only gives us the number of days that a Todo has
been stale. Add the logic for choosing the CSS class to use back to the
view helper.
Guard against the case days stale can be negative
Refactor the empty message criteria into its own method.

Removes plenty of duplication in the code
Simplify SearchController#results

Give names to the various things being searched for and move them out
into their own methods. Also add scopes to give names to things being
queried out of the models.
Render notes using RedCloth without formatize

Removes the outdated bluecloth dependency
Merge pull request #173 from zoombody/remove_formatize

Render notes using RedCloth without formatize
Fix off-by-one error in pie chart data

A pie chart with exactly 10 contexts would show up with 9 contexts +
(other).
Fix grammar in pie chart legend
Merge pull request #174 from kytrinyx/pie-chart-bug

Fix off-by-one error in pie chart data
Add heavy-handed tests against pie chart bug
initial changes to add an option to select either context or project as grouping of todos on home or tag page

* new menu item in view menu
* js to toggle view
* store setting in cookie to keep de choice of view persistent
* refactor index and tag page of todos to look more alike
* refactor context and project partials to look more alike
do a big refactor of rendering collections of todos for home page, tag page, project page, context page
remove option to show empty containers and start fixing failing cucumber scenarios
get all scenario's running again, first pass.