NF: add set_data_offset method to Analyze headers

To help proxy API tests, and for completeness
DOC: update docstrings for arrayproxy and helper

Fill out API doc while thinking about API testing.

Another tiny docstring update.
RF: apply_read_scaling fix for integer slope/inter

``apply_read_scaling`` should be able to cope with integer slope and
intercept values, although we aren't using these in the code-base yet.
TST: add arrayproxy API validators

Add API validators for the basic arrayproxy uses (Analyze types, MGH
format).
RF: proxy uses header fields, deprecate header copy

Plan not to copy header for the array proxy. Copy out the relevant
header fields and do scaling in the proxy.
RF: refactor general proxy API into own class

Put general API testing into its own class ready to test other array
proxy classes (such as MINC)
NF: add read-only shape to Minc array proxy

Writing API validators revealed shape was not read-only.
RF: rename test for minc2

Test still had minc1 naming
TST: add minc1 / minc2 proxy tests

Use generalized test framework to add minc1, minc2 array proxy tests
NF: add is_proxy attribute
TST+RF: add ecat tests with read-only attrs
RF+TST: make Analyze slope, inter, offset public

We may want to look at the slope, intercept, offset directly.  I can
imagine situations where you'd want to change slope, inter, to get free
rescaling of the images.  I don't know whether that's a good idea - to
make it part of the public API.
Merge pull request #203 from matthew-brett/proxy-validators

MRG: array proxy API validation; proxy refactor

Add ArrayProxy API validation. Extends tests a little for array proxies,
prepares for extending the API for array proxies.

Refactor ArrayProxy to copy out fields it needs from the header, but deprecate
the header copy (it can be large), so we can just keep the fields from the
header that we need.