Adds plugin config support for hashes

Some plugins, like ProcessResourcesCollector, require subsections in their config file
With this change, the config passed to the plugin resource can hold a hash, which will
then be rendered as its own subsection in the config file.

For example:
diamond_plugin "ProcessResourcesCollector" do
  action :enable
  options({
    :enabled => true,
    :process => {:diamond => {:selfmon => true}}
  })
end

will generate a config file like this:
 ### Options for ProcessResourcesCollector
enabled = true
unit = B
cpu_interval = 0.1
[process]
[[diamond]]
selfmon = true
Sorts the template keys before rendering
Adds tests for the new config object support
Adds a minitest for the new hash options
Merge pull request #12 from hufman/config-hash

Adds plugin config support for hashes