Move conversion and resolution

The end goal of all the things I've been working on.

FetchValue, StoreValue, and UpdateValue are no long generic classes. This makes the API a little cleaner. 

Conflict Resolution and Type conversion are moved into the user thread by making it so they don't occur until the user actually wants the values.