Vindicia now return objects instead of Hashes

This PR is basically to address the need of returning fully created objects instead of hashes upon each request.

We're deprecating earlier versions of the API for now in favor of the fully detailed documentation about input | output arguments in 4.0

Mayor class re-design for better code quality