Added ability to specify an exception for setDataSource(). Abstracted data source spec into an opaque ID class that will be reused by ShadowMediaPlayer in a future commit.
Merge pull request #1415 from kriegfrj/md-retriever-setdatasource-exceptions

Custom exceptions for MediaMetadataRetriever.setDataSource.
Delete unnecessary ShadowKeyEvent.

This implementation got in the way of KeyEvent dispatch logic (which
uses the mAction and mKeyCode fields, which weren't being set by the
shadowed constructor). The ShadowKeyEvent wasn't exposing any behavior
that isn't already implemented by KeyEvent and/or ShadowInputEvent, so
deleting it and using the real constructors seems to be the sensible
option.

This keeps the test around, but renames it to InputEventTest, since
that's where the behavior lies that it was actually testing.
Merge pull request #1416 from tec27/delete_keyevent

Delete unnecessary ShadowKeyEvent.