Revamped validators (inner layer)

Self-sufficient validators that can be directly called and easily combined.

* [x] Working prototype
* [x] Comprehensive unit tests
* [x] Canonization function
* [x] Old validation tests pass when old `canonize()` is swapped with the new one
* [x] `merge_defaults()` works correctly
* [x] Old stuff deprecated/removed
* [x] The code is reorganized, all important features are available via `from monk import x`
* [x] A performance comparison vs 0.12 displays acceptable results
  * validation of a 2× nested dict, 10K times, Python 3.4: v0.12 ~5.1s (v0.12), ~3.1s (v0.13), that is ~1.6× faster; Python 2.7:  4.0s (v0.12) vs 2.4s (v0.13), that's approx same ratio.
  * validation of alternative rules, pre-translated, 10K times, Python 2.7: ~4s (v0.12), ~1.9s (v0.13), that is more than 2× faster.
  * merging defaults in a 2× nested dict, 10K times: v0.12 ~3.2s, v0.13 ~3.15s (i.e. same results)
* [x] Documentation updated