Move the Service Locator from ReactiveUI into Splat

Just like it says, this copy-pastas the service location code from ReactiveUI into Splat, so that everybody can standardize on it and not write their own / pull in gigantic libraries like ReactiveUI or MvvmCross just to have a service locator.

I'd love to come up with something everyone can agree with so that we can share this code instead of all inflicting our own versions on people

/cc @slodge @lbugnion @nigel-sampson