#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
#727 combined error messages for package repo property validation
#727 fixed typo error
Merge pull request #754 from pshivana/migrate_package_repository_extension

Added scheme validations for package material extension
Merge pull request #753 from arvindsv/feature_toggle_support

#739 - Feature toggle support
#727 fixed build failure caused due class cast exception