Only create user, group and directories on war installations

Recent versions of the Jenkins packages will not install correctly if a
`jenkins` account already exists on the system.
Only create supporting resources on JNLP slaves
Split `jnlp` and `ssh` slave fixtures.

This make it easier to follow the example code for each.
Document that SSH slaves should be created on the master.
Ensure compiled attributes respect overrides

Fixes #162
Ensure plugin installs respect global mirror setting

Fixes #163
Tests should use WAR install locked to 1.555

This will ensure we don't get bit by [JENKINS-22346] while testing. We
can move back to floating on latest once things are fixed in the
upstream.
Add fallback to `jenkins_slave` matcher if authn is enabled
Assorted bug fixes in integration tests
Update authn int tests to load private key from data bag item
Separate slave integration tests by protocol
Add integration test coverage for smoke tests

To DRY things up we will just symlink in various serverspec tests from
other suites.
Add int test coverage for ssh slaves with password creds

This is mainly to ensure #174 is not an issue and SSH Slaves work
correctly with password-based credentials.
Use a mirror for integration testing.

jenkins-ci.org has the fun little habit of blocking traffic if we pound
them too much with requests during integration testing.