Improve Server Property handling

* Deep copy properties added using the 'roles' keyword
* If a property exists on a server when another definition is
encountered and is an Array, Set or Hash then add the new values

This allows roles to specify properties common to all servers and
then for individual servers to modify them, keeping things DRY

See example in: spec/lib/capistrano/configuration/servers_spec.rb:31
Merge remote-tracking branch 'upstream/master'

Conflicts:
	CHANGELOG.md
Tweak CHANGELOG.md to force another build
Merge pull request #1130 from townsen/server_props

Improve server property handling