Auto register Akavache on module load

This PR solves our problems around various ways of calling into Akavache without having registered our types - for example if `NetCache` was the first type you touched in your app, you'd skip BlobCache's static initializer and nothing would be set up. 

Now, we use Splat 1.2.0's service location registration along with a module initializer to make it Pretty Hard to hit this class of bug.