CLI Fixes

All CLI fixes here. Removed an awful lot of redundancy by merging sets and gets into just two methods, and have implemented every single data type that we currently support. Some friendlier tweaks have been introduced, such as reporting the correct type of a value when a key of another type was requested (utility method)

Users are still required to use set-TYPE get-TYPE on the CLI, because in removing get, we'd have to put guesswork into set, which is beyond-scope. This way anyone using the CLI tool knows 100% the datatype being used (its reported whenever you attempt to get-TYPE if you're wrong)

Also added a small change to gdbm backend so we'll actually know when we've requested a key that hasn't been set (invalid field)