Merge branch 'release-0.1a3' into develop
Spiders now use a single setting for the download directory.
Checklist files now contain a file format version number and language.
Checklist files now use ints and floats for numbers and coordinates.
Fixes #15. Protocols are now defined using a name and not a code.

Using codes made assumptions about the final destination where the
checklists would be loaded - specifically the database model in the
django-checklists project. Using the name extracted from the site
(WorldBirds does not define a protocol so a default 'Timed visit'
is used) makes it easier to map protocols to different codes, if
any, when the data is loaded into its destination.
Species records now contain only name and scientific_name.
Removed the language specific suffix from comment fields.

The new checklist attribute, language, can be used to determine
how to load the comment fields in a localized database.
Fixes #12. Added tests to download and validate checklists from real sites.
PEP8 cleanup

Also removed the TODO file since tasks will be added to the
repository issues in future once they are well-defined.
Fixes #18. Replaced codes for age and sex with names used by ebird.
Merge branch 'details_codes' into develop
Fixes #19. Entries no longer have subspecies.

Entries downloaded from eBird now only have a single name field which
contains either the species name or, if available from the checklist
web page, the name of the subspecies.
Fixed merging of checklist entries.

When updating the checklist entries extracted from the ebird API with
the entries extracted from the checklist web page problems can occur
when dealing with subspecies. The records from the API only contain
the species while the checklist web page contains the subspecies.
Matching the two is easy if there is only one entry for the species
but when species and subspecies are included and both have the same
counts then it is impossible to differentiate them.

The methods used to merge the checklists now take this into account
so the entry is not merged - only the entry from the API is used.
A warning system was added so any such mismatches can be recorded
and included in the status report sent when the crawler completes.
A warning is also generated when an entry from the checklist web
page does not have a matching entry from the API. This is possibly a
bug in the eBird API and so it's useful to keep track of this.
Moved version and language into a meta dictionary attribute.

Adding a 'meta' dictionary attribute to the top level checklist
makes it easir to find the values added by the programs that download
the checklists. It also makes it easier to add new attributes without
polluting the checklist attributes.
Fixes #14. Time is now a protocol attribute.

This allows checklists that do not specify a time to omit a protocol
rather than just the time. That makes it clearer that no specific
method was used to count the birds seen.
Fixes #16. Added an activity field to the checklist.

Added the activity field to augment the protocol describing the
activity, e.g. seawatching, hawk migration count, etc. eBird
blurs the lines between activity and protocol a little with custom
protocols for heron counts and counting migrating birds calling
at night. Adding the acitivity field allows these to be listed
as activities and the protocol describes the exact methodology used,
stationary, area covered, etc.
Passed country code to parsers to use as a prefix for identifiers.

The country code used to identify which WorldBirds database to access
is passed to the various parsers in the request meta-data so it can
be used as a prefix when generating the identifiers for checklists
and locations. This allows data from different WorldBirds databases
to be aggregated without the identifiers (which are almost certainly
primary keys) colliding.
Source and observer related attributes are now grouped in dictionaries.

Also added a comment field to the top-level in the checklist and added
more tests.
Fixes #13. Added a detailed desciption of the format of the saved checklists.
Merge branch 'develop' of github.com:StuartMacKay/checklisting into develop