URL Routing for the steps and lots of cleaning up

The steps are now tied to ui router states, and
the class data is accessed via the class service.
This allows for more flexibility with steps in the future
and cleaner code. Lots of cleanup is included in this, still
a WIP.