Re-organise plugin class file.

Classes should be in their own file, with no other side-effects being made by including that file (i.e. a class being instantiated). This commit moves the class file out of the main plugin file, but leaves a reference to the plugin activation hook callback.

It also renames the constructor method to run(), so that a class can be instantiated, without having any side-effects, such as when unit testing.
Undo commented out line.
Reorganise code into new classes - one for admin, one for registration.
Move class files into includes directory.
Fix merge conflict
Merge pull request #23 from GaryJones/feature/organisation

Code organisation