...
Use a 2D array for memoization, gives clearer code
Update HNA and Heise
Change docs for in process servers to discourage their use
Update American Thinker

Fixes #1288371 [American Thinker news](https://bugs.launchpad.net/calibre/+bug/1288371)
...
Refactor subsequence matcher to not use recursion and support multithreading. Also add a python implementation for easy experimentation with the algorithm.
Edit Book: Add support for showing the names of non-BMP characters on narrow python builds (windows and OS X)
Fix warnings when building matcher in Visual Studio
...
...
Merge branch 'master' of https://github.com/cbhaley/calibre
Insert special char: Allow searching for non BMP characters, by using the ICU database of names rather than python's outdated one.
API for normalization using ICU
Tiny performance improvement
Faster roundtripping of strings between ICU and python
Use the faster py->icu string conversion in the matcher
Return NULL when decoding from UTF-32 fails
Edit book: Fix column number of cursor one less than it should be.

Also fix non-BMP characters before cursor not being reported correctly.
Use new roundtrip code for ICU get_character_name