Exception-based Client-side Validation and Migrating Tests into Setuptools

1. Exception-based Client-side Validation
(a) Added base class for all errors (UbidotsError)
(b) Added decorator @validate_input and exception UbidotsInvalidInputError
(c) Attached decorator to applicable functions
(d) Added unit tests for @validate_input decorator

2. Migrating Tests into Setuptools
(a) Move test requirements into setup.py (now they will resolve automatically during "python setup.py test")
(b) Edited README to document new command to run test