JCLOUDS-458:Added Blobstore Abstraction

JCLOUDS-458:Added Blobstore Abstraction
Minor Changes testCopyUrl
Also narrow the scope of this catch block, e.g.,

```
String urlName;
try {
   urlName = name.contains("/") ? URLEncoder.encode(name, Charsets.UTF_8.toString()) : name;
} catch (UnsupportedEncodingException uee) {
   throw Throwables.propagate(uee);
}
api.getObjectApi().deleteObject(container, urlName);
```