Programmatic validation and documentation of parameter values

This replaces the purely documentary nature of parameter's "allowedtype" with something that can be used to perform type checks, conversion and validity testing of arbitrary complexity. The cmdline interface can use this to convert values from command line calls, auto-generate up-to-date documentation.

This change should be purely incremental, and should not affect performance, as no constraints are actually implemented anywhere. There is a separate branch sitting at 

https://github.com/neurosbh/PyMVPA/tree/allowedtype

that converts all "allowedtype" specifications into constraints. That one needs a closer look and may have significant effects.

This basic framework for parameter constraints is part and prerequisit for the cmdline_modular PR.