Improve and simplify fits Section indexing.

Add support for indexing fits Sections with slices with nontrivial (step != 1) slices, with integer arrays, and with boolean arrays.
This doesn't work on Python 2--in any case, use `astropy.utils.isiterable` instead--it works more reliably across Python versions on the widest variety of object types.