A number of "low hanging fruit" micro-optimizations in header handling.
This won't make a noticeable difference for much anyone, but it should
shave a couple seconds off in cases like spacetelescope/PyFITS#46

I won't list every change, but most of them are things like re-ordering
if/elif statements so that the most common cases are handled earliest.

Some of the more significant changes are in handling of RVKCs,
unsurprisingly.  I made some slight tweaks so that we can check for them
faster in the most common cases.  I also added an additional
_rvkc_indices data structure in the Header class to help keep track of
them.

I'm not crazy about the tradeoff here between efficiency and code
complexity, as the additional keyword index does add some complexity,
but it makes failed keyword loopups, which are actually quite frequent
when initializing an HDU and trying to determin its type.  So I think
it's worth it.
Merge pull request #46 from embray/issue-46

FITS File Writing Performance