[IndexedDB] Use consistent enums on both sides of IPC.

Numerous IndexedDB IPC messages sent renderer->browser are defined members that are enums from Blink (public/platform), and on receipt are static_cast to types
defined in Chromium:

blink::WebIDBCursor::Direction => indexed_db::CursorDirection
blink::WebIDBDatabase::TaskType => IndexedDBDatabase::TaskType
blink::WebIDBDatabase::PutMode => IndexedDBDatabase::PutMode
blink::WebIDBDatabase::TransactionMode => uint16 => indexed_db::TransactionMode

Nothing enforces the equality of these enums at compile time.

So the approach adopted here is to move the Blink-side enums into public/platform/WebIDBTypes.h and use it everywhere.

Patch spread across chromium content side as well as on Blink side.
Chromium side: https://codereview.chromium.org/320833002
Blink side: https://codereview.chromium.org/325683002

BUG=381848
R=dglazkov@chromium.org, jsbell@chromium.org

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

Patch from Pritam Nikam <pritam.nikam@samsung.com>.

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