Imported schema with license.

From: https://github.com/halst/schema
commit 5403795eadd1dbad8b9f2bd3d8b97f436f910ab2
Used schema in Vizier's constructor.
Validate catalog keywors in Vizier methods.
Remove dead code: _is_single_catalog()
Improved radius and box handling in query_region()
Removed dead code: _str_to_unit()
Made _parse_dimension() a member of VizierClass.

Just to keep the module scope clean.
Check conversion of radius and bos to Angle earlier.
Now _parse_dimension assumes an Angle as input.
Renamed _parse_dimension() to _parse_angle()

To reflect that only Angle is accepted.
Removed test_str_to_unit()

_str_to_unit() does not exist anymore.
Force conversion to Angle in _parse_angle()

Mostly for the test suite.
Fix tests for _parse_angle()
Made possible to receive an unlimited number of rows.

Vizier.ROW_LIMIT = -1
Updated documentation for unlimited row limit.
Vizier doc: revert ROW_LIMIT to 50 after unlimited example
Vizier doc: updated Vizier.query_region to reflect the use of astropy.coordinates.Angle
Fixed a mistake handling box keyword in Vizier.query_region.
Vizier doc: fix documentation for use of ICRS instead of ICRSCoordinates
Vizier doc: refelct the fact that parsing string coordinates is now properly handled in astropy 0.3