Implement the fake DAOs via a FakeDb

Just the start, and needs tidying still.
Refactor CragDaoSpec to pass in fixtures to each test.

Rather than storing the CragDao as an instance var.  This allows parallel
running of the spec against non-database implementations (ie - the fakes).
Couple of corrections to visibility of overridden attribute
Pull out ClimbDao tests into separate spec trait.

And inject the CragDao and ClimbDao per-test, rather than relying on
instance variables.
Test the FakeClimbDao with the new ClimbDaoSpec

Obviously not much is passing because the fake isn't fully implemented.
Flesh out the FakeClimbDao
Some corrections to the /climbs resource tests
Unsafe parsing of strings to Grades
Incomplete climb resource
Doing somehting with Grades.

Can't remember what.  It probably doesn't work.