Fix freeze when Jenkins is stopped

Chef executes notifications after each resource action, not after all
resource actions are completed.  Previously, if Jenkins was stopped,
these events would occur:

  runit_service[jenkins] :enable action
  notify block_until_operational resource
  runit_service[jenkins] :start action

Because Jenkins was not already running when the
"block_until_operational" resource was executed, Chef would block
forever.

This attempts to fix this by using a separate resource to notify
block_until_operational only after Jenkins is started.

[Fixes #CHEF-2774]
http://tickets.opscode.com/browse/COOK-2774
[COOK-2774] ensure Jenkins is fully operational on all restarts

Now that we've moved the `ruby_block[block_until_operational]`
notification out of the `runit_service` we have to be sure to block 
until Jenkins is operational every time we notify the service to 
restart.
Merge branch 'COOK-2774'
`test-kitchen` now handles a Berksfile with relative paths
for COOK-3039 - add default user attribute to set the node users shell. use attribute in node_ssh recipe
Merge branch 'COOK-3039'
Don't validate on load.  We may not have our template file yet for the
job on disk. (action :nothing then later notify.) Instead validate the
config file when we are about to do something with it.
Consolidate create & update into one method with the same functionality
Merge branch 'pr/37'
remove legacy `node['jenkins']['http_proxy']['variant']` attribute

The desired proxy variant is just based on run list now.
ensure server install generates an SSH key pair

This can optionally be used for authentication with Jenkin's SSH slave
plugin.
Add up-to-date README and TESTING docs.
update .kitchen.yml with Opscode's provisioner-less base boxes
[COOK-3148] save plugins with `*.jpi` extension

Plugins installed from the Jenkins Update Center are written to disk
with the `*.jpi` extension. Although plugins downloaded from the Jenkins Mirror have an `*.hpi` extension we will save the plugins with a `*.jpi` extension to match Update Center's behavior.