Feature/extracting dropwizard platform

i've extracted the `Platform` interface and renamed the original one to `DropwizardPlatform`.

The original platform class leaked the Dropwizard-specific methods that I felt would be detrimental long term to Graceland. If we change how we launch a Dropwizard application, we couldn't stop people from directly accessing the `run()` and `initialzie()` methods. Now we can...

Any other platform that's built in the future should also keep to the style of having a protected constructor and a public static factory method that returns an instance of `Platform` to keep the abstraction.

@graceland/users thoughts?
right now, there isn't, but i don't want to limit it.

i'm not sure how much i like the idea of the creation of an object starting a long-running process like a web server...