Add a _version tag to the data

_version stores two values right now:
    * The git hash of the last commit to the parser repository
    * The git hash of the last commit to raw data repository

This will allow better tracking of what versions of the data and the
code were used to produce the reconstructed data.
Fix penalty handling on kickoff

The NFL considers the kicking team the offense, but we don't. Therefore
offensive penalities are called on the kicking team. We now take this
into account.
Update kickoff handling

When there is a penalty on the kick off, the yard line is left blank. In
these cases we now return "None" instead of an exception, and assume the
previous team with the ball is now the kicking team.
Revert handling of penalties on kick off

It seems the receiving team is the offense for penalties.
Change how converter.py saves files by default

Converter now only saves files if they have changed in a way other than
the _version hash. If the version has changed, but the data hasn't
actually changed, then we don't care. This will make it easier to see
meaningful changes in the data git repository.

This default behavior can be overridden with the new "--force-overwrite"
command line flag.
Rework numbering of plays

Using the number that came with the raw data led to play numbering
starting at 0, 1, or even 2.  Play numbering now always starts at 0, and
counts up for each play, even if it fails to parse. This allows gaps in
the numbering to be used to detect certain types of parser failures.
Update get_kicking_offense

We now use the kicker's name to figure out the offense if parsing the
field line fails (as it does when there is a penalty). This isn't
foolproof, sometimes there are missing kickers or degenerate kickers.