Made some changes to service wire up and options

- Inline services into AddSignalR. This aligns with the pattern
most frameworks are using now and puts it all into one place.
- Remove IHubPipeline completely and replace it with an option on
HubOptions. HubOptions now exposes a stack of IHubPipelineModules.
- Added SignalROptionsSetup which has the default configuration for
SignalR.

/cc @DamianEdwards @halter73 
I know that namespace doesn't matter for the `NotNullAttribute`, but why JetBrains.Annotations? Most other projects are putting this attribute in their own namespace.