Pull AsyncApiFunction out of src/chrome

AsyncApiFunction now inherits UIThreadExtensionFunction directly, rather
than depending on ChromeAsyncExtensionFunction. It's also been moved from
chrome/browser/extensions/api/api_function.{h,cc} to
extensions/browser/api/async_api_function.{h,cc}.

With the exception of notifications API functions, anything which previously
depended on AsyncApiFunction's inheritance of ChromeAsyncExtensionFunction
was doing so only for GetProfile. In all cases, GetProfile() has been replaced
with ExtensionFunction::browser_context() (renamed from context()).

Finally, ApiFunction has been removed since it was identical to
ChromeAsyncExtensionFunction.

BUG=346949
TBR=dmazzoni@chromium.org,mfoltz@chromium.org,fgorski@chromium.org,courage@chromium.org,dewittj@chromium.org,rpaquay@chromium.org,kalman@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254113 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 254113