New Development Branch

I've been putting off working on python-fitparse for about a year.
Here is a first commit for a rewrite. I'll try to leave the API
somewhat backwards compatible with the old version where it makes
sense.
Added Profile Generator Script
Added README stub
Committing Progress on Rewrite Branch (ng)

Committing the work I've been doing over the past little while on a
rewrite for python-fitparse.

Major Changes
-------------

* New, hopefully cleaner public API with a clear division between
  accessible and internal parts. (Still unstable and partially
  complete.)

* Proper documentation! Going to use Sphinx.

* Unit tests and example programs.

* (WIP) Command line tools (eg a `.FIT` to `.CSV` converter).

* Component fields and compressed timestamp headers now supported
  and not just an afterthought. Closes issues #6 and #7.

* FIT file parsing is generic enough to support all types. Going to
  have specific `FitFile` subclasses for more popular file types
  like activities.

* (WIP) Converting field types to normalized values (for example,
  `bool`, `date_time`, etc) done in a consistent way, that's easy to
  customize by subclassing the converter class. I'm going to use
  something like the Django form-style `convert_<field name>` idiom
  on this class.

* The FIT profile is its own complete python module, rather than
  using `profile.def`.

* Bonus! The profile generation script is less ugly (but still an
  atrocity) and supports every ANT FIT SDK from version 1.00 up to
  5.10.

* A working `setup.py` module. Closes issue #2, finally! I'll
  upload the package to PyPI when it's done.

* Support for parsing one record at a time. This can be done using
  `<FitFile>.parse_one()` for now, but I'm not sure of the exact
  implementation yet.
Added Python 2.5 Compatibility

* Removed use of bytearray
* Removed use of numbers module
* Removed 0b syntax
* Use unittest2 if Python older than 2.7
* Removed namedtuple use in favour of object.__slots__
Partial Cleanup of Record Objects

 * Renamed/added some keywords for consistency
 * Added readable __repr__()'s to some record objects (WIP)
 * Changed record objects with unknown names to be named
   "unknown-NN" where NN is the relevant definition message number
   or field definition number.
FitFile API Cleanups

 * Simpler API that can parse messages in a fit file on demand if
   treated as an iterator
 * Removed `get_messages_by_name()` method. Instead writing
   `get_messages(**kwargs)` that will be able query in a more
   flexible way. (WIP)
Added Sample `fitdump` Script
Added Real .FIT File Parsing Test

Added sample file from my Garmin Edge 500 along with the expected
values in a CSV file.
 General/API Cleanups and Added Data Processors

 * Added custom data processor classes where the following methods
   are called on a per value basis
   - process_type_<type_name>(field_data)
   - process_field_<field_name>(field_data)
   - def process_message_<mesg_name>(data_message)

 * Updated profile.py and its data structures in record.py to leave
   out values in its `__init__` method and have None by default.
   (Updated profile export script as well)

 * Tweaked `__str__`/`__repr__` methods on records.py classes

 * Minor Refactor For Timestamp Field and Record Base Class

 * Made the argparse module a `setup.py`/pip requirement for Python
   2.6 and lower in anticipation in using it for the fitdump script.
Added Initial Documentation
Added link to project docs.
Added Top Level Dir Test Suite Runner
Bumped Copyright to 2013
Added initial API docs (WIP with TODOs)
Fix struct Size Calculation to Include Endian
Updated Profile to 5.20 (no change)
Refactored File Loading Code + Minor Fixups
FIXUP to above
Added Sample doctests (WIP)

Still not sure if I want to include doctests or not.