Changed how fact lists are deleted, it was occasionally causing a segfault before.
If a proof's name is empty, it is shown in the interface as 'Proof'. Added tests for this.
Reduced margins on fact lists and added visualisation of section structure for section picker.
Text wraps properly in headers of pages and is truncated in breadcrumbs.
Scroll areas on course page scroll to top on page load.
Changed dialogs to use QDialogButtonBox which makes them behave nicer to keypresses.
Added validation to forms, so you can't add a fact with an empty name, etc... Also added tests for this.