Fix world-readable permissions due to sqlite race condition

Existing code uses umask() to temporarily modify the file permissions for
open(). A race condition can occur where a second thread reads in the
temporary value, saves it, and then restores the file to the temporary value
resulting in world-readable permissions. Backporting a known fix:
http://www.sqlite.org/src/info/6c4c2b7dba

Bug: 15288755
Change-Id: I89779f3a5ba0bec181d6614b29b1e26ea4f4f049
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0

Conflicts:
	dist/sqlite3.c

Change-Id: I467822c69adda0f7e487748fb5644e2d9f567e1e