adding a plugin store so tenant admins can manage resources for
their plugins. Types of resources a plugin supports will be
defined by the plugin. For example, the 'chef-solo' automator
type will specify that it supports 'cookbook', 'databag',
and 'role' resource types. A tenant admin will then be able to
upload resources for cookbooks, databags, and roles with a given
name and version for identification.

Resource versions can then be activated, meaning that version
of the resource will be pushed to provisioners when a special
'sync' call is made by the admin.

Implementation includes a PluginResourceMetaStoreView that keeps
track of what resources exist and which versions are active.
There is then a PluginStore that provides input and output streams
for writing to and reading from whatever backend is used to store
the plugin resources. System admins can implement the PluginStore
class to support different storage backends, with Loom including an
in-memory backend for tests and a local file system backend, with
the idea that we would add support for distributed systems that
would work better for HA purposes.
add missing javadocs and copyright headers.
fix some stream reading test code.
Change API for getting all plugin resources of a specific type
to a map instead of a flat list so that versions for a resource
are grouped together. Also changed active filter to be a
parameter instead of a separate call with a separate signature.
Changing some of the terminology. You now stage a resource instead
of activating it, and each resource has a status which is inactive,
staged, active, or unstaged.
changing versions to be internal, with plans for users to label
resources.
switching versions to be internally managed incrementing integers.
cleanup and renaming to shorten class names.
keep records in the meta store for when resources are deleted
instead of deleting from the table for historical purposes.
add missing javadocs and fix checkstyle errors and warnings.
Merge remote-tracking branch 'origin/develop' into feature/plugin-data-store

Conflicts:
	server/src/test/java/com/continuuity/loom/BaseTest.java
dont get deleted versions.
adding docs for new rest apis.
Merge remote-tracking branch 'origin/develop' into feature/plugin-data-store

Conflicts:
	CHANGELOG.md
forgot to add the doc file for plugin apis.
Merge remote-tracking branch 'origin/develop' into feature/plugin-data-store

Conflicts:
	CHANGELOG.md
Merge remote-tracking branch 'origin/develop' into feature/plugin-data-store

Conflicts:
	CHANGELOG.md
	server/src/main/java/com/continuuity/loom/store/guice/StoreModule.java
	server/src/test/java/com/continuuity/loom/BaseTest.java
Adding comments and a lot of small pull request comments
with refactoring store guice modules, renaming classes and
variables.
Merge pull request #292 from continuuity/feature/plugin-data-store

Feature/plugin data store