Updated and reorganized DSL

DSL functions have been moved into modules and then included in their
respective classes to make the codebase more readable.

The setup DSL is now part of the Application object instead of an
independent module.

Changed the setup DSL spec to use a dummy application object to prevent
collisions with other tests.

Field spec now supports blocks being passed for custom display values

Fields can now be disabled from the filtering panel. This done so
virtual fields can be used (they can not be filtered on so they must be
disabled).