instance variable name is chef_version, not require_chef_version

`UNSET_VALUE` makes it possible to know the difference between a 
configuration value that was never set, and a value that is nil 
(explicitly). A downstream middleware uses the value in `chef_version`
to determine if the plugin should operate in no-op mode; if the value is
`nil` the plugin silently skips.

This fixes issue #3.
Use Ubuntu 12.04 release AMI for acceptance testing

Previously a daily build AMI was used. Daily build AMIs 
disappear AWS returns this wonderful error message:

  <Response>
    <Errors>
      <Error>
        <Code>AuthFailure</Code>
        <Message>Not authorized for images: [ami-cc970ca5]</Message>
      </Error>
    </Errors>
    <RequestID>6e36ec2b-53e8-4f25-82c5-250c38d171fc</RequestID>
  </Response>
resolve `latest` to a real Chef version; fixes GH-2

Queries the RubyGems.org's Ruby API to determine the latest version of
Chef.

The `InstallChef` action does not install the Omnibus Chef package if
the requested version is already installed. Resolving a version of
`latest` to a real version (i.e. 11.4.0) allows this check to succeed
when appropriate.
validate user provided Chef version; fixes GH-4

Queries RubyGems.org's Ruby API to see if the user-provided Chef version
is in fact a real Chef version!
retrieve omnibus.chef_version directly from global config

This ensures we are dealing with the final, finalized version.
use `:latest` in virtualbox acceptance test
update to latest vagrant (1.2.1) and vagrant-aws (0.2.1)
add Apache 2.0 license headers
v1.0.1