Bug 936703 - [async_storage] callback in transaction.oncomplete event. r=djf, a=1.4+

CostControl app invokes |Common.closeApplication()| in its
asyncStorage operation callbacks.  However, these callbacks are
invoked in IDBRequest.onsuccess events when the corresponding
transaction is not necessarily completed.  That is, we may have
following sequence:

  1) IDBRequest.onsuccess
  2) call to Common.closeApplication()
  3) invalidate open IDBDatabase
  4) trying to invoke IDBTransaction.oncomplete results in an
     AbortError.

We should follow W3C's suggestion here -- listen
IDBTransaction.oncomplete instead of IDBRequest.onsuccess.

[1]: http://www.w3.org/TR/IndexedDB/#widl-IDBTransaction-oncomplete

Conflicts:
	shared/js/async_storage.js
Bug 988754 - Fix test_call_contact.py
Merge pull request #17750 from chirarobert/uplift_call_contact_fix

Bug 988754 - Fix test_call_contact.py
Merge pull request #17743 from vicamo/bugzilla/936703/v1.4

Bug 936703 - [async_storage] callback in transaction.oncomplete event. r...
Merge pull request #17696 from jmcanterafonseca/fix_bday_date_2

Bug 988399 - [B2G][Contacts] Contacts birthday set to January first inco...
Merge pull request #17607 from nullaus/bug981764

bug 981764
Merge pull request #17764 from nullaus/v1.4

V1.4