Add BaseYamlStore.

This does the reading/writing logic that's common to the other
stores.
Merge pull request #140 from csmith/master

Add BaseYamlStore.
Make some changed to the model to make a dialog workable.
Merge branch 'master' of https://github.com/DMDirc/DMDirc into profilemanager
Merge pull request #141 from greboid/profilemanager

Change modal to make dialog workable.
Add events to ProfileManager, add tests.
Swap Collection to List.
Switch to Profiles.
Fix failing test.
Add a default profile.
Move Iterables logic into profilemanager.
Add Profile migrator.
Fix unit tests.
Remove unused imports.
Fix CME on migration.
Merge pull request #142 from greboid/profilemanager

Add events to ProfileManager, add tests.
Fix copy and paste error.
Merge pull request #144 from greboid/profilemanager

Fix Copy and paste error.