Created core objects and implemented givenViewModel() and validateObservable[s]()
Moving main source files to /src directory to keep things tidy
Implemented a good part of the addRule() logic

- Supports multiple observables for a single rule
- Initializes and updates the isValid and errorMessage sub-observables
- Adds ability to set global settings (tko.settings) to control the name of the sub-observables that are added in order to work around possible naming conflicts.
Refactored how observables are invalidated.  Keeping track of observables and using beforeChange and afterChange to clear and set the validity status
Some significant restructuring to support Rule Bindings.  This will allows multiple rules that validate common observables to not unset the validity of another rule.  An observable fails if at least one bound rule fails.
Added the ability to specify an error message for a rule, as well as a condition.  Added unit tests.
Changed the root namespace, rebranding to 'given'
Fixed some references to the 'vm' variable in the test spec
Added some code comments and a bit of cleanup
Simplified the 'validateObservable' methods to a single 'validate' method.  First pass at adding documentation to the README file.
Added base functionality and added documentation to the README file.