Fixes for RSpec and Cucumber tests on Windows

* Do not load Berkshelf::API
* Add api_client and not_supported_on_windows tags to RSpec tests
* Add api_server tag to Cucumber features requiring Berkshelf::API
* Skip these tags on Windows
* Use && instead of ; in command line operations
* Rewrite checks using temporary directories
* Use double quotes when shelling out
* Remove stderr redirects to /dev/null
* Git on Windows does not create full path to tmpdir, do this in clone
* Ensure that there is a / in Mercurial URIs
* Work around Thor::Shell::Basic behaviour differences on Windows
* Disable Yard runs on Windows
Merge pull request #926 from rarenerd/windows-tests

Fix for tests on Windows
include locked_version for path locations in lockfile
Merge pull request #934 from berkshelf/GH-934

locked_version must be present for all items in Lockfile
move Berksfile#apply to Lockfile#apply
Add helper function for loading a Lockfile from a Berksfile
fix broken lockfile specs

promote Berksfile#ridley_connection to ::Berkshelf
fix broken apply feature
add check for lockfile existence when running apply
Merge pull request #933 from berkshelf/GH-933

berks apply is an action on a lockfile, not a berksfile
ensure Berksfile.lock goes along with vendored cookbooks
Merge pull request #935 from berkshelf/vendor-include-lock

ensure Berksfile.lock goes along with vendored cookbooks
version bump 3.0.0.beta4
Make 'package' command to filter hidden files from chefignore
Merge pull request #940 from noorul/package

Make 'package' command to filter hidden files from chefignore
properly identify a cookbook on disk by it's metadata
Merge pull request #941 from berkshelf/bfx-importing-cookboooks

properly identify a cookbook on disk by it's metadata
remove option to ignore chefignore file when packaging

this is counter-intuitive to the idea of packaging a completed
artifact containing our cookbooks
greatly improve `berks package` command

* The package command will first vendor the contents of a Berksfile
  into a temporary location before creating the archive.
* The first argument to package has been changed to be the destination
  of where to write the archive.
* Package now respects the --only and --except flag. This will ensure
  that only cookbooks found within a desired set of groups is packaged
* The destination that the outfile will be written to is now verified
  to be a valid writable directory by the process executor
catch SystemCallErrors and re-raise as packaging errors