New dim.im3d method - base::dim primitive handles dispatch
Additional test for reading/dimensions when read.im3d(,ReadData=FALSE)
Can now rely on dim(x) to do the right thing when x is an im3d
Always add a bounding box and add non-null origin

* we often need to know at the other end whether an explicit origin was 
  specified
* this will now be tagged by the presence of an origin field
* bounding box will always be present
make sure that BoundingBox is always zapsmall()ed in im3d() constructor

* by putting it through boundingbox function
store explicit space origin when reading nrrd
Ensure amiramesh returns a 0 length integer/numeric vector when ReadData=FALSE

* use the first data block to determine type
don't try and simplify when we did not actually read any data
record the origin when reading amiramesh files
write out origin to nrrd when im3d has one
New SimplifyAttributes argument for read.im3d

* just return core attributes only
make sure that voxel dimensions/bounding box match Amira when any dim==1
Always store inferred origin when reading amiramesh files

* Amira does not store the "space origin" separately as is the case for nrrds
* Have decided that we should always store the origin inferred from the
  BoundingBox
Teach read.nrrd to accept logical values for ReadByteAsRaw argument
Give read.im3d a ReadByteAsRaw argument
Add test for complete equivalence of amiramesh and nrrd versions of data

* NB this data block was saved in Amira to both amiramesh and nrrd formats
change baseline to expect integer nrrds to be read in as R integers by default
Give read.amiramesh a ReadByteAsRaw argument
implement read.im3d's ReadByteAsRaw argument for amiramesh as well

* and test this
Merge branch 'feature/im3d'

* feature/im3d:
  implement read.im3d's ReadByteAsRaw argument for amiramesh as well
  Give read.amiramesh a ReadByteAsRaw argument
  change baseline to expect integer nrrds to be read in as R integers by default
  Add test for complete equivalence of amiramesh and nrrd versions of data
  Give read.im3d a ReadByteAsRaw argument
  Teach read.nrrd to accept logical values for ReadByteAsRaw argument
  Always store inferred origin when reading amiramesh files
  make sure that voxel dimensions/bounding box match Amira when any dim==1
  New SimplifyAttributes argument for read.im3d
  write out origin to nrrd when im3d has one
  record the origin when reading amiramesh files
  don't try and simplify when we did not actually read any data
  Ensure amiramesh returns a 0 length integer/numeric vector when ReadData=FALSE
  store explicit space origin when reading nrrd
  make sure that BoundingBox is always zapsmall()ed in im3d() constructor
  Always add a bounding box and add non-null origin
  Can now rely on dim(x) to do the right thing when x is an im3d
  Additional test for reading/dimensions when read.im3d(,ReadData=FALSE)
  New dim.im3d method - base::dim primitive handles dispatch