New `composer::selfupdate` type

This makes it possible to update the composer binary to a specific
version. Even rollback is possible.

- Added validation to exec type
- Added selfupdate type and auto_update param
- Fixed param case statement for prefer-source param
- Added metadata.json to .gitignore
- Added 'stdlib' dependency to fixtures
- requiring dep modules from global namespace
- Updated exec.erb template
- Updated test suite
- Added user to exec for selfupdate
- Fixed versions in travis.yml
- Removed 3.0.x support until https://github.com/rodjek/rspec-puppet/issues/136 is fixed
- Removed ruby version constraint for testing
- Bumping version to 1.3.0
Updated documentation
add timeout param to composer::exec

this solves #34
vagrant as a development and functional test env

Conflicts:
	.gitignore
update name of puppetlabs vagrant box
fixing conflicts with master rebase
fix param location from bad merge
spec command needs to be a regex to work properly
use fixed up rspec-puppet for RSpec 3.0
Merge pull request #42 from tPl0ch/release-1.3.0

Preparing release 1.3.0