Factor loader into a database storer and a batch loader

while reading facebook code I came across their stats package, which has an interesting solution to this - which I rather like: https://github.com/facebookgo/rpool/blob/master/rpool.go#L59

Where `defer` gives you the `@Timing`-esque annotation we're after. They benefit from not relying on needing to carry the `startTime` var around as the `BumpTime()` is evaulated and returns an interface which has an `End()` which is what is called by defer. Really smart imho.