Massive refactor.

This commit does a few things, for various reasons. First, it
renamespaces a few attributes to consolidate a few parameters and allow
us to render some files without templates. Namely the config is affected
by this. In addition, the :opts key has been renamed to :cli to more
clearly specify its purpose.

The service initialization has been moved to a separate recipe and will
not be called by default. This is a non-backwards-compatible change.

The recipes have been rewritten somewhat to accommodate clearer and
cleaner code, as well as more concise code. Where possible, files are
dynamically rendered as opposed to templated. In addition, helper
functions are used to obfuscate some of the logic not necessary to use
this cookbook.

Finally, a util library has been added, which encapsulates some of this
new functionality. There is an S3 properties file rendering method, a
regular config rendering method, and two helpers to guard for
idempotency.

This hasn't been tested (but I am working on that).
Just scan for jar_dest for should_install_exhibitor?
Clean up service invocation variables and template
Minor comments for attributes file
Minor cleanup and small logic changes to default recipe.

* chmod 00400 log4j.properties
* Include Util library into Chef::Resource
* Some whitespace stuff
* Override the jar_dest attribute (since it shouldn't be changed)
Easier logic around s3 vs. file config

This removes the fsconfigdir default value, opting to set it within a
new case statement condition checking for the cli configtype variable.
Depending on which branch you go into, the right command line parameters
will be invoked, and the right files will be created.