Break up generic form smoketests

This breaks up the monolithic generic form smoketests into multiple
classes in multiple files.

This makes it a bit easier to use with pytest.
Fix dashboard date order and dashboard smoke tests

* this tweaks the dashboard so that if you give start and end dates in
  reverse chronological order, it'll switch them
* this fixes the dashboard smoketests--now they all pass