JCLOUDS-664:Implement OSImageToImage Function

implement OSImageToImage Function.
Changes to API implementation
1- Added PublisherName to OSImage
2-Changed Locations list to Location 
I really think this logic should be part of `osFamily().apply()` maybe changing it into `osFamily().apply(osImage)` ?