Added a testing framework and some validation

Added a unit test framework and some unit tests

Also added validation for values in the SubscribableDict as per Randys review comments, and actually caught a bug by doing so :)