SERVER-14412 Remove threadState from the public Locker API

Also adds assertions that TempRelease is not used for anything other than
the global lock.
SERVER-14412 Beginnings of a collection-level locking API for non-MMAP V1 engines

This commit adds capability to the storage engine to declare whether it
supports document-level locking or not. If document-level locking is not
supported, MongoDB will lock down to the collection level (not yet
implemented).
Merge remote-tracking branch 'upstream/master'