Add .gitkeep to empty dirs for omnibus-ctl and runit

The git based build caching mechanism ignores empty
directories. Software configs that create empty directories need to add
a placeholder file (here .gitkeep) so that the directory will be in
place when the build is restored from cache.
Enable always_build for chefdk and add the artifact build version setting logic.
Merge pull request #163 from opscode/project-specific-resources

Set the artifact version correctly for chef-dk
Use ChefDK's path to compute the SemVer compliant version

This change has a few advantages:

* Removes `git describe` shell-out logic that already exists in 
  `Omnibus::BuildVersion`.
* Ensures the build version generated respects any timestamp related 
  flags passed to the `omnibus build` command.
take full advantage of git cache by building `chef` last
Only always build chef and chefdk in their projects
Compute build_version in the build block

This ensures the project.build_version a component might have overridden 
is properly reflected in the project's `version-manifest.txt` file.
Merge pull request #164 from opscode/schisamo/use-omnibus-buildversion

Use Omnibus::BuildVersion to generate build version
Berkshelf is pointing to master of berkshelf-api for tests.

We need to set berkshelf to always_build otherwise we get errors similar to this when running it:

/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/bundler-1.5.2/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find berkshelf-api-1.2.1 in any of the sources (Bundler::GemNotFound)
Put berks to the end of the dependency list in chefdk since it's now always building.
Merge pull request #166 from opscode/berks-git-test

Set always_build on Berkshelf
Add nokogiri as a dependency to test-kitchen since it's now being included in tk via tailor gem.
Merge pull request #167 from opscode/clean-build-test

Add nokogiri as a dependency to test-kitchen since it's now being included in tk via tailor gem.
Bump chef-client version to 11.12.2
Merge branch 'mm/update-chef-client'
Update md5 checksum for cacert.pem

The certificate was updated as of 2014/04/22.
Lock down versions of all ChefDK's auxiliary gems

Currently when we create a build of ChefDK we get the latest released 
version of every auxiliary gem. This is dangerous at best. This change
locks down the versions.

I also wonder if we should just put these in the ChefDK gemspec OR 
Gemfile. If we decide to create `chef` subcommands that rely on any of
these tools as a library we'll have to (I'm thinking `chef lint`).
Merge pull request #176 from opscode/schisamo/lock-chefdk-auxiliary-gem-versions

Lock down versions of all ChefDK's auxiliary gems
Remove gecode from berks, use vendored gem instead
Add chef-vault to chefdk

* Creates chef-vault as a new software definition
* Adds chef-vault as a dependency of chefdk
* Add chef-vault to the appbundler list