ZeissLSMReader: Correct ROI indexing and metadata store call ordering

- Call SetROIID before any other SetShape call
- Decrement i and numberOfShapes in the PALETTE case as for default,
  to prevent an index out of bounds exception when next calling
  SetROIID
- Set X and Y properties of label ROIs
NDPI: prevent potential NPE when checking the type
Merge pull request #461 from rleigh-dundee/lsm-roi-10515-develop

ZeissLSMReader: Correct ROI indexing and metadata store call ordering (develop)
Modify bfGetReader allowing to pass fakes for unit testing
Add unit test for bfGetReader() functions

Test pixelsType, dimensions sizes, endianness, interleaved and series count
Refactor bfGetPlane() unit tests
Merge pull request #466 from sbesson/rebased/develop/bfgetreader

bfGetReader() unit tests (rebased onto develop)
Merge pull request #463 from melissalinkert/ndpi-npe

NDPI: prevent potential NPE when checking the type