Massive rewrite

Now uses gulp
Changed testing framework from karma to mocha

Removed all the confusing short-hand notation (such as passing no params
to get would get all and the base function that would determine if you
want to get, set, or get all), functions now have clear signatures and
single purposes (get, all, set, remove, clear).

Storage is now a proper class and uses new Storage() to instantiate.

Page storage is now fully implemented and if local and session are not
supported then they will fallback to page.

Now supports namespaces when instantiating a new Storage object, all
operations will operate on the namespace.

Storage may be instantiated with a predefined medium, a fully fleshed
out object that follows the medium's api, or with a simple object of
key/value pairs so long as the values are all strings.

Added yuidoc-style documentation.

Removed utility methods, now only uses a small number of internal
utility methods.

Now supports amd and nodejs syntax with fallback to using global
namespace.