Fixed and improved `Field` and `Header`.
Fixed and improved `Field` and `Header`.

* Tested and fixed above classes by hand.
* Improved `Header` constructor to interpret positional arguments based
  on their type / content.
* Added dictionaries and keyword arguments as additional ways to specify
  (name, type) pairs when constructing a `Header`.  These will be more
  useful when running Python 3.6 which introduced order preservation for
  keyword arguments and a compact `dict` representation which _happens_
  to preserve insertion order.
* Added error handling to `Header` constructor.
* Added `__getitem__` method to `Header` to allow indexing fields by
  index or name.  Having `__len__` and `__getitem__` enables iteration
  as well.
* Fixed `Header.isinstance` to not accept records shorter than the
  header.
* Implemented `__repr__` methods to aid inspection and debugging.
* Updated copyright year.

afbarnard/fitamord