MediaStream API: Update getUserMedia to match the spec
Both the success and the fail callbacks are mandatory and may not be null.
Also taking the opportunity to clean up the code and add proper
exceptions where needed as promised.

BUG=344874

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

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