added custom exceptions to core library

- filled exceptions.h with life and created exceptions for some fault conditions
- moved to API folder (as it will be have to be included to handle exceptions passed through the API layer)
- work toward psi46/pxar#9
extended and commented exceptions for pxar
'escalate' firmware and usb connections problems in HAL through exceptions

- throws FirmwareVersionMismatch or UsbConnectionError exceptions in HAL if such runtime problems are encountered
- need to be caught by calling functions
- work towards psi46/pxar#9
'escalate' corrupt readouts in HAL via exception

- throws DataMissingEvent exception if data is corrupt during DAQ readout (after cleanup)
- needs to be caught by routines using hal object
- work towards psi46/pxar#9
api implementation 'escalates' severe configuration problems through exceptions

- throws InvalidConfig exception if problem with configuration is encountered
- work towards psi46/pxar#9
added handling of invalid pixel addresses in decoding stage

- invalid pixels throw exception that is handled by datapipes implementation
- pxar::Event now contains counter for invalid pixels
- counter is increased when filling Event objects in datapipes
- work towards psi46/pxar#9
expose invalid pixels encountered in last DAQ readout through API method

- expandLoop and daq routines count invalid pixels in the returned events
- value is stored in private API memember variable and can be polled by daqGetNDecoderErrors (last DAQ readout only)
update comments to reflect possible exceptions thrown

- also updated FIXMEs where exceptions imho would not be appropriate
changed RPC exceptions to pxar::pxarExceptions in USB implementation

- using UsbConnectionError and UsbConnectionTimeout exceptions
- further changed output to LOG messages (instead of couts)
- reduced verbosity
- work towards psi46/pxar#9
USB interface cleanup (remove unused methods, add possiblity to change timeout setting)

- removed WaitForFilledQueue and GetQueue (not used anywhere)
- added SetTimeout method that allows on-the-fly changes of timeout (needs testing for FTD2XX driver)
extended exception handling in debug tool

.. and some more minor fixes
extended exception handling when configuring API

- gives more informative error messages
- work towards psi46/pxar#9
reduced verbosity if encountering decoding issues

- with commit 1bea2c8857044d74071de27773802cf64658eacf this throws an exception anyway
- a later API critical message will provice a summary of the number of encountered errors
adds a 'retry' dialog option to PixTest::efficiencyMaps() if DAQ readout fails

- if exception 'pxar::DataMissingEvent' is caught, the user is prompted via TGMsgBox to choose between retry and cancel
- retry will be offered until readout succeeds (no exception) or user selects cancel
- this demonstrates/is a suggestion how to handle exceptions on user code side to offer flexibility when handling e.g. DAQ faults
- toward psi46/pxar#9
Merge remote-tracking branch 'simon/master' into exceptions

Conflicts:
	core/hal/hal.cc
Merge pull request #101 from hperrey/exceptions

Improve error condition handling via exceptions
Bump version to 0.9.0 - have proper exception handling now.
add IFDEF for WIN32, calling the correct sleep function. Fixes #99
Replace leftover api::daqProblem calls with catching the correct exception.
Also throw exception in case the pulse height fill bit is not zero.