Extract running into a separate ssh connection class
Cache SSH connections

Results from 10x benchmark

```
Rehearsal ----------------------------------------------
cached:      0.260000   0.040000   0.300000 (  2.814596)
uncached:    0.780000   0.100000   0.880000 ( 11.084209)
------------------------------------- total: 1.180000sec

                 user     system      total        real
cached:      0.260000   0.040000   0.300000 (  2.886833)
uncached:    0.760000   0.100000   0.860000 ( 10.811572)
```
Make performance test somewhat reusable
Fix ExecResult reference
Update manifest
Another manifest update
Add --no-sync option to skip syncing and only run Chef
Use config_value() to get option state
Add test for --no-sync option
Add support for cooking with environments
Don't leave empty list in node config if no environment is specified
Merge pull request #284 from makern/no-sync-option

Add --no-sync option to skip syncing and only run Chef
Add missing stubs for Librarian and Berkshelf tests
Lock down Berkshelf to <3.0
Support Berkshelf 3.0

Berkshelf 3.0 will replace `Berksfile#install(:path => path)` with
`Berksfile#vendor(path)`. As we don't have hard dependency on it, we
need to support both.
Test with Berkshelf v3.0.0(.beta)
Merge pull request #265 from matschaffer/ssh-refactor-2

Small refactor to cache SSH connections
Merge pull request #268 from tmatilai/berkshelf-3.0

Support Berkshelf 3.0
Update the Debian 7 test AMI to Debian 7.1
Use Omnibus installer for Debian 7

Debian 7 is finally supported:
  https://tickets.opscode.com/browse/CHEF-4125