API 3.1 compatibility: Static configurable properties must be private and immutable

Updated blog module to adhere to new rules around configuration. Static configurable properties (db, has_one, etc) are now private.

See http://doc.silverstripe.org/framework/en/3.1/changelogs/3.1.0#static-properties-are-immutable-and-private-you-must-use-config-api for the reasoning behind this.

I have also removed trailing ?>(followed by newline, whitespace, etc) from various files, and cleaned up some redundant code (empty has_ones, etc).

Also noted in the code are places where various static properties should be refactored out in favour of using the Silverstripe configuration system instead. For now the bare mimimum work has been done in order to make the module work in 3.1.

I will take a look at these once I have more time.