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
Add MOD_NUMROCS, just in case.
Minor rewording of firmware flashing functionality.
Add RpcLink Function which links every RPC command. Use it to check
board FW version in case hashes do not match.
Rework MaskAndTrim mechanism to be mroe efficient in cas we do not use FLAG_FORCE_MASKED.
The TrimChip() NIOS function can take care of either masking or trimming the pixels, so
no need to separate the two cases on the host side.
This implied some changes to RocSetMask, and now the columns have to be attached to the
readout separately in case of running a DAQ. This change is also implemented.
Rework dummy DTB to work with changed HAL structure.
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
Merge branch 'master' of github.com:psi46/pxar
Revert "do not get drowned by critical messages"

This reverts commit 8ac5ccf47ddd1e790c39c44b98e2325cf66620e4.