Starting work on organizational hierarchy (subjects/topics) and a REST API for managing it

My Quizzes page is currently not functional as I'm in the middle of changing the approach (display the entire hierarchy in the sidebar, instead of only subjects in the sidebar, and topics in the main content area).
Make it possible to edit subject and topic names in the sidebar
Tweak angular-xeditable to use btn-success instead of btn-primary for accept button
Create nav-item.less (tweak bootstrap nav styling)

This allows styling nav items without them being having to be anchor tags
Change the Edit link in the sidebar to a dropdown menu, and adjust styling
Validate subject/topic name when renaming
Couple styling hacks

- Make the Edit link line up vertically with the subject name
- For the expand/collapse caret, show an outline and hover and make sure it actually covers the full width of the icon (by bumping up the padding then adding some negative margins)
Add --recursive option when running mocha tests

This automatically includes test files in subdirectories
Add angular-bootstrap-nav-tree as a dependency

Doing this manually for now (not through bower)
Make the abn-tree directive use a template URL instead of hardcoding the entirety of the template inline

Also, make the template URL configurable via template-url attribute. Example: <abn-tree tree-data="..." template-url="/partials/abn_tree_template.html">
[WIP] Created a quiz service for loading the topics/quizzes hierarchy, and implemented the most important pieces of the topics sidebar (using the abn-tree directive)

Still lots to do:

- Selecting a topic doesn't actually do anything yet (doesn't update the main content area)
- Can't add or delete topics yet (or reorder)
- Dumping debug info on the page
- Needs a lot of code cleanup
- e2e tests broken
Reformat code to make it consistent with rest of project
Use true GUIDs for abn-tree nodes
Set the ID property of each <li> element to the branch GUID for abn-tree
Select all when editing in angular-xeditable by default
Use .catch() instead of .fail() for promises, and show full stack trace in console
Add support for adding topics in the sidebar, and verify ownership when retrieving and editing
Create methods for importing and deleting topic trees

Refactor tests to use the new methods
Move the confirmButton directive into its own module and make it available application-wide
Fix quiz creation