#739 - Initial commit: feature toggle support.

Beginning of a feature toggle service.
#739 - Differentiate between available and user toggles.

Toggles available in the system, vs. those changed by users. They need to be
persisted at different places, and their values need to be merged, before
considering the final values of all the toggles.
#739 - Prepare for missing description in toggle.
#739 - Allow toggling a feature toggle.
#739 - Ignore internal field from toggle JSON.

Ignore field 'hasBeenChangedFromDefault' from being written to the user's
toggle file.
#739 - Cache the state of feature toggles.
#739 - Better message when toggle file not found.
#739 - Support for list toggles API.
#000 - This is wrong. There is no index.

Remove wrong package repository route from routes.rb. It used to fail
since it led to an action which did not exist in the controller.
#739 - Support for update toggle API.
#739 - Move controller into API namespace.

Since this is an API, and there will be a different controller for the
actual UI, this moves to the api/ directory and the Api namespace.
#739 - Read available toggles as a stream.

This is because it will be packaged inside the WAR file and it cannot be
easily read as a file, directly.
#739 - Fix failing rspec spec.

Had used the wrong namespace in the spec.
#727 Added validation to prevent using non alphanumeric key for data map in package revision
#727 Added validations to verify json schema for package repository extension
#718 - Added validation and logging.
The Json Schema validation requires some libraries which conflicts with shindig, so not validating via schema. Putting some if clauses to handle validations for now.
Also added logging for the errors.
#727 combined error messages for package repo property validation
#718 - Added the old API based sample plugin.
This is done to provide the capability to plugin authors to refer to the old implementation if need be.
This folder will be deleted once the support for old style API based implementation is stopped.
#718 - Implementing pull request feedbacks.
#718 - Fixing the if clause.
In the older implementation if the property key was absent, the type casting to String/Boolean in the else clause would have thrown an exception.