web: fix too-loose yesod dependency, we require 1.2.*
docs: link to readline docs
docs: fix indentation in hledger add example
docs: fix tabs in indentation
Fix timelog alias examples

	Sample aliases should have date expanded at execution time, and not at definition time.
Merge pull request #143 from markokocic/alias-fix

Fix timelog alias examples
docs: fix link to ledger's fixed lot prices
docs: increase table of contents depth to 5
Might look more cluttered, but it's getting too hard to find things in the manual.
docs: link some external docs, reorganise docs page
docs: literal block formatting fix
docs: expand date-format docs
docs: mention C libs in the cabal install instructions
docs: more cabal install instructions updates
docs: mention PATH ordering with multiple hledger copies installed
docs: link bradley kuhn's non-profit tutorial
make most types instances of Data (and Typeable)
This allows them to be pretty-printed with pprint (from data-pprint)
when debugging, and shouldn't have much impact otherwise.
require data-pprint 0.2.3, works with ghc < 7.2
drop some experimental pprint logging
allow an optional level argument with --debug
new debug helpers; --debug=N sets debugLevel

The debug level set by `--debug[=N]` is now available to pure and
startup code as debugLevel, using unsafePerformIO.

`dbg LABEL ...` is now the go-to helper for tracing values on the
console; it produces output when the debug level is non-zero. `dbgExit`
is similar but exits immediately, avoiding further output. The
`dbgshow`, `dbgppshow` and `dbgpprint` variants allow control over the
pretty-printing method and required debug level, allowing more control
over what is displayed when.

Other cleanups: lstrace -> ltrace, pdbgAt -> pdbg, tracewith -> traceWith.