Merge pull request #109 from greboid/profiles

Move Profile wrapper back.
Way, way too much tidying in one go.
Add generics to some models.
Merge pull request #111 from greboid/rawtypes

Add generics to some models.
Merge pull request #110 from greboid/sometidying

Way, way too much tidying in one go.
Merge pull request #112 from greboid/profiles

Improve component validator.
Add new profiles dialog.
Merge branch 'master' of https://github.com/DMDirc/Plugins into profiles