Improve detection of OS in OsTasks

Confirmed that OSs in EC2 live test return sensible values
Fix EC2 live test and always show 'unknown' when OsTask input empty.
Add note to handlebars-1.0.rc.1.js about why updating it is difficult.
Adds documentation for driver copyResource and copyTemplate methods
Merge pull request #1154 from sjcorbett/further-os-details

Improves detection of OS in OsTasks
Merge pull request #1169 from aledsage/refactor/gitLikeCli-to-airline

Upgrade git-like-cli:0.3 to io.airlift:airline:0.6
For cassandra rebind
Persist EntityRef in xml-serialization (WIP)

- Instead of replacing the entity with a string, and storing which
  fields/config/attributes this had been done to, we persist an
  EntityRef or LocationRef. On deserialisation this can be replaced
  with an EntityProxy.
- TODO: at deserialisation of the mementos, we don't have all the
  entities yet so can't crate all the proxies. E.g. if the first file
  references the second, then we can't deserialise the first's EntityRef
  into an EntityProxy.
AstyanaxSample to use different columnFamilyNames
Remove use of MementoTransformer (in persistence)
Persist completed attributeWhenReady config

- currently it's belt and braces (!)
-- MementoGenerators swaps the task for the completed val or null
-- XmlMementoSerializer has a converter for Task
Expand machine-rebind testing
Cleanup XmlMementoSerializer
Testing SshMachineLocation persistence

- and improve logging
Add alwaysRun to FixedListMachineProvisioningLocationTest.setUp
Add CassandraClusterRebindIntegrationTest