deepcopy raw_value in case of mutable input data
execute preprocessors only if value needs conversion
move raw_value assignment test for mutable types to test_base.py
add strict_processing option to Map validator

This option, when disabled, allows to process mappings with extra keys that
would cause KeyError being raised in case when enabled (default).
use copy of value when input data is mutable
introduce postprocessing mechanism
do not make a copy of processed value - use copy only for raw_value (mutable types only)
use dict proxy object as value of Map validator
add types.py module with DictMixin inside
make attribute with bound validators private in Map validator

There is still validators property available, but it only contains
constructor's parameter.
__iter__ is mandatory in DictMixin instead of keys
value proxy in Map validator finished