Provide a hook to configure Quick

Merge after #174.

This allows Quick to be configured using the following syntax:

```swift
class MyProjectConfiguration: QuickConfiguration {
  override class func configure(configuration: Configuration) {
    configuration.beforeEach { /* ...this is executed before each example, globally. */ }
  }
}
```

This set of commits removes `QuickSharedExampleGroups`. Instead, users can define shared examples within the configuration class:

```swift
class SharedExamplesConfiguration: QuickConfiguration {
  override class func configure(configuration: Configuration) {
    sharedExamples("my shared examples") { /* ... */ }
  }
}
```

This introduces a big, backwards-incompatible change: `QuickSharedExampleGroups` has been replaced by `QuickConfiguration`. Should we start thinking about versioning Quick and Nimble?

Fixes #163. Supports #152.