E1463: Refactoring TreeDisplayController

Changes introduced:
- Changed `list` method to `index`
- Removed `drill` - combined with `index`
- Removed all of the `goto` methods and had them go through `index` instead because they are essentially just filtered versions of a listing (and the previous implementation just redirected each `goto` back to `list` anyway)
- Used path helpers where possible
- Removed instance variables and used local variables instead.  This should be better for scope reasons.  Note that there are still 1-2 instance variables used in the view, `@show` and `@assignment` which don't appear to be used anywhere.  (`@show` doesn't seem to ever be set, `@assignment` seems to only be used locally)  However, we didn't touch this because it didn't deal directly with our changes to the controller.
- Introduced some local variables as params to the view which allow dropdowns to keep their selected option after the page reloads (the logic was there before, but it was using instance variables which were never set!) - this is for the search/filtering options


Note: Unexpected database changes had to be made due to controller actions being stored (routes and references) in the database.  This makes updating and refactoring controllers very difficult.  In general, it seems like a bad idea and should probably be considered for future refactoring.
This is not a database migration, it's a data migration. It should go in db/data_migrations. Look at other data migrations to figure out how to structure it. It should also be idempotent, meaning it can be run multiple times without adverse effects.