WebCore blob hacking

Added BlobDataHandle, a thread safe layer of indirection between Blob instances and the underying data.

Change blob processing/handling classes to work with BlobDataHandles insead of URLs.
-- WebCore::Blob
-- WebCore::BlobBuilder
-- postMessage() plumbing
-- WebSocket.send() plumbing
-- fileWriter.write() plumbing
-- SerializedScriptValue
-- FormData

Switched to using string uuids instead of urls in structs and params in the WebKit API.
-- WebBlobData::Item
-- WebHTTPBody::Element
-- WebFileWriter::write()
-- WebBlobRegistry

Removed main thread bridging from BlobRegistry control flow for blobs (not for streams).

Got more explicit about naming: FileSystemURL vs BlobUUID vs PublicBlobURL.

TBR=abarth
BUG=174200

Review URL: https://codereview.chromium.org/26435003

git-svn-id: svn://svn.chromium.org/blink/trunk@159636 bbb929c8-8fbe-4397-9dbb-9b2b20218538