Fix infinite loop with LogPrint on Windows

Running -printtodebugger -debug (or -debug=lock),
compiled with -DDEBUG_LOCKORDER would infinite loop
on Windows because every critical section lock/unlock
triggers a LogPrint.

Solution is to use the raw boost mutex instead of a CCriticalSection.
Use thread-local storage for LogPrint(category...)

This prevents crashes at shutdown where a global destructor
calls LogPrint(category...) after mapMultiArgs has been
deleted.
Squashed 'src/leveldb/' changes from 936b461..e991315

e991315 Merge upstream LevelDB 1.15.
0cfb990 Release LevelDB 1.15
02ac9f1 Merge upstream LevelDB 1.14.
0b9a89f Release LevelDB 1.14

git-subtree-dir: src/leveldb
git-subtree-split: e991315d7fe4ca84a98902578106cbffa3dcccfd
Merge src/leveldb changes for LevelDB 1.15
Rebrand to `Bitcoin Core`

Only messages for now, executable names and other file names
can be changed later if necessary and safe.

Do not do an all-sweeping change. Some occurences of Bitcoin-Qt need to
be kept:

- Applicationname: this is used to determine the registry entry names,
  we don't want to lose settings over a silly name change.
- Where it refers to the executable name instead of the product name.
Merge pull request #3377

0b238b2 Use thread-local storage for LogPrint(category...) (Gavin Andresen)
962b1cf Fix infinite loop with LogPrint on Windows (Gavin Andresen)
Fix unit test error on OSX 10.9 using Apple LLVM v5.0.

Before the fix, there were 6 errors such as :
serialize_tests.cpp:77: error in "noncanonical": incorrect exception std::ios_base::failure is caught

It turns out that ex.what() returns following string instead of "non-canonical ReadCompactSize()"
"non-canonical ReadCompactSize(): unspecified iostream_category error"

After the fix, unit test passed.

The test ran using Apple LLVM v5.0 on OSX 10.9 and the unit test error happened because of different error messages by different compilers.

g++ --version on my development environment.

```
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix
```
qt: use GUIUtil::dateTimeStr in coincontrol
Merge pull request #3421

93a5d0b qt: use GUIUtil::dateTimeStr in coincontrol (Wladimir J. van der Laan)
Merge pull request #3420

bccd532 Fix unit test error on OSX 10.9 using Apple LLVM v5.0. (Kangmo)
Improve unit test code not to compare with explanatory messages for each platform.
Instead, use have an exception object to check if the string returned by what() on the raised exception matches the string returned by what() on the expected exception instance.
This way, we do not need to list all different possible explanatory strings for different platforms in the test code, and make it simple. (The idea is by Cory Fields.)
Merge pull request #3423

0205abd Improve unit test code not to compare with explanatory messages for each platform. Instead, use have an exception object to check if the string returned by what() on the raised exception matches the string returned by what() on the expected exception instance. This way, we do not need to list all different possible explanatory strings for different platforms in the test code, and make it simple. (The idea is by Cory Fields.) (Kangmo)
Merge pull request #3408

22f0135 Rebrand to `Bitcoin Core` (Wladimir J. van der Laan)
qt: Update English language file for translators
Merge pull request #3425

88ba264 qt: Update English language file for translators (Wladimir J. van der Laan)
Fix typo in unit-tests.md
Merge pull request #3430 from ldenman/patch-1

Fix typo in unit-tests.md
Fix typos in spendfrom README
some more small re-branding changes (Bitcoin Core)
Merge pull request #3434

46469d0 some more small re-branding changes (Bitcoin Core) (Philip Kaufmann)