Rename database record classes

* Renaming database record classes
`Dashboard` => `DashboardRecord`
`DashboardDef` => `DefinitionRecord`
`Tag` => `TagRecord`

Didn’t want them conflicting with the simpler names which will move to
the pure JSON model  classes in `tessera-client`

* Also added delete cascade so we’ll stop orphaning records in the
definition table. Oops!
Formatting
Use a decorator for model classes

Get rid of that big ugly if
Handle all iterables in EntityEncoder
Can remove redundant item_type declarations now
Merge branch 'issue-201-split-model' of github.com:urbanairship/tessera into issue-201-split-model
Web-only Dashboard & Tag model classes

Not used in the server yet, these will be primarily for utilities based
on the upcoming API client
Merge pull request #264 from urbanairship/issue-201-split-model

Prep for client split
Fix bad merging of EntityEncoder. gitderp.
Add moment-timezone, and update moment.js to meet it's minimum version requirement
Display times in a configurable timezone, defaulting to UTC.

This adds a new option, DISPLAY_TIMEZONE to config.py, and
makes all graphite, nvd3, and flot charts display results in
that timezone. I'm not happy with the change to flot.time.js,
but I wasn't able to find a better injection point.
Support definition=true on all dashboard views
Merge pull request #265 from urbanairship/issue-201-split-model

Support definition=true on all dashboard views
Update to use web model classes from tessera-client

Completes the move of `web.py` classes to `tessera-client` package.
Merge pull request #263 from markolson/configurable-timezone-displays

Configurable timezone displays
Merge pull request #266 from urbanairship/issue-201-split-model

Update to use web model classes from tessera-client
Version bump