Volatile native

This pull request adds support for native volatile types. These are NativeTypes that run on VolatileAccesses.
VolatileAccesses map into an array-like underlying data storage, just like normal Accesses.
Additionally, they have a boolean isValid() method that returns whether data from the underlying storage is valid.
(This is used in an upcoming BigDataViewer release that fetches data from web-based resources. For this, the data is fetched asynchronously in a background thread, so that the data storage is only valid after the data has arrived.)

I loosened the generic parameter bounds on the NativeTypes, so that for example a standard FloatType can run
on a VolatileFloatAccess, as well as on a FloatAccess. This is useful because it makes (known-to-be-valid) volatile and standard FloatType images interchangeable in algorithms.

There is no performance penalty for existing code.

I would like to merge this very soon if there are no objections.