adding storage providers - cookie and null so far

Now that we're able to load and run switches, this PR makes it so we can store the results of those switches. Currently there are two options:

* `NullStorageProvider` which stores nothing, mostly used in development
* `CookieStorageProvider` which stores results in a cookie

As of this PR the `CookieStorageProvider` uses the `StorageDuration` enumeration to determine the length of time to store a result as follows:

[More Information Coming]