Use mklink under Windows

In order to support in-place importing on Windows, mklink
rather than ln must be used. Rather than create new commands
like `--transfer=mklink`, the same flags (`ln` and `ln_s`)
are being used.
Fixes from jh713@cam.ac.uk

 * cmd /c is needed to call mklink from Java
 * Arguments need reversing.
Close file handle before attempting delete

@bpindelski showed that on Windows the UUID-containing
file created by checkLocation was not being properly
deleted during import. This change closes the RawFileStore
and then re-opens in order to allow in-place import under
Windows.
Print command and stdout/err on error

The stdout and stderr (which are merged) are now read
from the created Process instance if the return code
is not 0.
Silently ignore ObjectNotExistException

If `checkLocation` throws an exception, then
`cleanupUpload` will definitely throw an ONEE
since the proxy no longer exists. Cleaner would
be to null some instance variable, but due to
the possibly multi-threaded nature of the Transfer
object, we're doing something simpler here.
Remove ManagedRawFileStoreI in favor of callbacks

ManagedRawFileStoreI was not being used which meant that
closeCalled was never invoked and therefore the proxies
in `ManagedImportProcessI.uploaders` were never cleaned.
This led to `ObjectNotExistException` being thrown on a
second loading of `proc.getUploader(i)`. Rather than add
logic to create the correct subclass of RepoRawFileStoreI,
a callback interface has been added which can be used for
any implementation.
Use fulltext search instead of somemustnone
Added possibility to search for Datasets, Projects, etc.
Removed ID search again, enabled search for different types

ID search has to be implemented otherwise, by HQL.
Search is now also possible for Datasets, Projects, etc. but the
result cannot be displayed yet.
Deleted accidentely added classes; fixed import
Fixed problem with AdvancedSearchResult and added comments
Hide (commented out) date range combobox from SearchPanel
Added general annotation search option
Just added toString() to AdvancedSearchResult
Added AND search
Added reset dates button; removed default field selection
Restored previous search methods; added batch size limit
Previous search methods and objects restored in order to not break
the OmeroDataService interface, moved recent code to new methods,
marked the old ones as deprecated.
Added user restriction to search; removed unneccessary code
Added Quicksearch field to toolbar
Just reverted some changes