register image file formats
Specify class neuron for read/write
Fix interface of is.nrrd, is.vaa3draw, is.amiramesh

* getformatreader expects a bytes argument in second pos
Document is.(*image) functions
Add tests for new is.image*

* also check that we can use getformatreader without specifying the class
  (even if this is less efficient)
minor speed-up in generic_magic_check

* not much point in using readBin to get raw bytes from a raw vector!
Consistent signature for read.im3d.amiramesh

* same as the other read.im3d style functions
rename read.vaa3draw.im3d->read.im3d.vaa3draw

* for consistency with other methods
Use getformatreader in read.im3d

* i.e. fully implemented via registry
bug in getformatwriter when >1 ext registered

* fixes https://github.com/jefferis/nat/issues/187
* logic error should have been:

  file_ext %in% registered_exts

  rather than the other way round
make write.im3d registry based
Document write.im3d's new format argument
Merge branch 'feature/register-image-formats'

* feature/register-image-formats:
  Document write.im3d's new format argument
  make write.im3d registry based
  bug in getformatwriter when >1 ext registered
  Use getformatreader in read.im3d
  rename read.vaa3draw.im3d->read.im3d.vaa3draw
  Consistent signature for read.im3d.amiramesh
  minor speed-up in generic_magic_check
  Add tests for new is.image*
  Document is.(*image) functions
  Fix interface of is.nrrd, is.vaa3draw, is.amiramesh
  Specify class neuron for read/write
  register image file formats
Enable read.neuron(s) to read from urls

* by simply downloading urls to a temporary file
clean up temp file

* store directly in tempdir()
need httr:: since only suggest httr package
Add source url as attribute of neuron if appropriate
Document option to use url for neuron download
Example of reading neurons from remote urls
test reading neurons from remote urls