Add in-place caching attribute and constructor to Memoizer

For in-place caching, the current implementation of Memoizer requires to set
the directory as the root path. This is not intuitive and requires a priori
knowledge about the setId file especially on Windows platforms. This commit
proposes to store in-place caching as a boolean attribute which can override
directory.
Modify getMemoFile() logic to handle and check in-place caching
Add logic to create temporary file in MemoizerTest.setUp
Extend Memoizer tests to cover directory existence/permissions cases
cpp: test: Allow stream operators to be found by ADL
cpp: test: Use constants of correct type in equality comparison
cpp: test: Only run death tests if supported by the platform
cpp: test: Remove unused variable in variantpixelbuffer
Do not run setWritable(false) tests on Windows platforms
Fix empty string error
cpp: test: Split pixelbuffer into multiple translation units

This instantiates the templated tests for one pixel type
per unit.  This is to work around travis failures due to
this file failing to build due to an internal compiler
error and/or memory problems on the build node.  The tests
run are unchanged.
Handle Java string comaparison properly
Handle Java string comaparison properly 2
Merge pull request #1295 from rleigh-dundee/cpp-bsd-fixes

C++: clang++/llvm 3.3 fixes
Merge pull request #1299 from emilroz/CZI_empty_string_fix

Fix empty string error
Merge pull request #1292 from sbesson/memoizer_inplace

Memoizer: improve usability of in-place caching