Add pthread configuration similar to autoconf

The new OmeroCpp/PThread SConscript file is now available
for checking various pthread configurations similar to
autoconf.

The file is called once by SConstruct and then recursively
calls itself in order to test the various pthread flags.
This is mostly determined by some strange calling errors in
SCons, but should allow with a little more work a fairly
self-contained pthread tool.

Note: several sections are still commented out since they
are unlikely to be immediately important for OMERO.
Revert BaseThreadPtr

Apparently because BT is a IceUtil::Thread
and not some other base class, IceInternal
Handle is inappropriate.
Remove Fixture f from unit tests

Fixture now attempts a connection causing
all these tests to fail. It was previously
needed when using boost::unit_test but is
no longer needed for gtest.
s/CPPFLAGS/CXXFLAGS/g
Add missing ```&```
Merge pull request #624 from jburel/delete_handling_develop

Check if the file still exists before downloading (see #9645)
Merge pull request #622 from jburel/rebased/develop/import_bugs

Fix import bugs. (see #9860, #9859) (rebased onto develop)
Fix boolean check.
Review handleResult method.
TEMP workaround for #9813
Image marshal includes zoomLevelScaling
Merge pull request #628 from will-moore/editinplace_bugs

Editinplace bugs (develop)
viewport.js $ viewportImage.js pass zoomLevelScaling down to PanoJS
PanoJS handles zoomLevelScaling - default is still 50%
Remove ManagedRepo.createOriginalFile

Dangling methods like this exacerbate the checking
of possible synchronization issues. The one method
which should be allowed is register(); any others
should be refactored away.
Replace create() test method with RawAccessRequest

The create method was the last remnant of the previous
multiplicity of ways to create files. These have now
all been consolidated into "register()". This poses a
problem for testing though. It's no longer possible to
modify the file system without also updating the database.

In order to simulate a background user (non-OMERO) modifying
files within the repository with OMERO's awareness, the
RawAccessRequest command can be used to touch or remove files.

This can only be done by an administrator.
Add UnregisteredFileException

file() and fileById() now throw an omero.UnregisteredFileException
if a file exists on the filesystem but is not registered in the DB

The `file` field of the exception returns the OriginalFile object
which would be created if register(String path, String mimetype)
were called on the same path. If the object on disk is a directory,
mimetype must be null or "Directory".
scons: Use LINKFLAGS for -pthread
merge develop -D org -I include -E conflict -E needs-fixes -E broken: PR 587 (Modulo retrieve (rebased onto develop))
merge develop -D org -I include -E conflict -E needs-fixes -E broken: PR 592 (C++ fixes for building with Ice >= 3.4)