Add Validations for URL parameters.

By adding validations, it's possible to create without ambiguity routes
like "/user/:id" and "/user/:name", where the validation for the name
will check that it's an number, and name is a string.

A validation is not required for every key.  However, you can't specify
a validation for a key that does not exist in the URL. The validation
use Regexp for now, and the user has to create the regexp with the
function MustCompile.

Some utility functions are added to easily gain information about a
component, validator, etc.  This will be extended more soon.