Documentation improvements
Rework OsTask into getOsDetailsTask and getOsDetails

Former calls latter, latter blocks til completion.
Improves data about machine available to SshMachineLocation

* Adds MachineDetails and HardwareDetails interfaces and implementations
* Moves os-details script from brooklyn-software-base to brooklyn-core
* os-details script used in BasicMachineDetails to gather data by SSH
  and updated to also return RAM in kb and CPU count
* OsTasks class renamed to MachineTasks and methods altered similarly
Deprecate MachineLocation.getOsDetails in favour of getMachineDetails
HardwareDetails getRam returns total in megabytes rather than kilobytes

Tallies with Jclouds Hardware.getRam method
Update EC2 Debian 6 live test AMI
JcloudsSshMachineLocation fills in MachineDetails when possible

If all required data is available then JcloudsSshMachineLocation will
skip SshMachineLocation's SSH call to get machine details.

Also calculates finds RAM on linux machines with sed rather than grep
due to unexpected behaviour on Centos 5.6 instances.
Correct erroneous log string
Removes MachineTasks class

Move live tests in brooklyn-software-base to a package that would make
more sense in brooklyn-location, but brooklyn-location doesn't have
access to Abstract{Ec2,GoogleCompute}LiveTest.
Use DynamicTasks.queueIfPossible over queue

And improves documentation of those methods
SshMachineLocation closes resources and in finally block
Fix isLinux test in BasicOsDetails and apply other review comments
Merge pull request #1266 from sjcorbett/more-os-details

Improved location details