Bulk Upload Prototype

For the file upload fields I used a text based field rather than the
<input type=“file”> so it looks better.  However, if we can’t get this
style to work with the upload functionality we will need to sync up to
see what our options are.
fixes #1624
Tokenize and validate ecobenefit categories
Merge pull request #1761 from steventlamb/topic/tokenize_ecobenefit_categories

Tokenize and validate ecobenefit categories
Consider default i-Tree region when adding species to an instance
Reformat species dicts

They were really hard to read, so I reformatted them (using a Python script).
Unify species fields and names

Rename everywhere:
* Fact Sheet -> Fact Sheet URL
* Fall Colors -> Fall Conspicuous
* Flowering -> Flower Conspicuous
* Native Status -> Is Native
* Other -> Other Part of Name
* Plant Guide -> Plant Guide URL
* Wildlife -> Has Wildlife Value

Remove from importer
* Family -- not used or stored in OTM2
* Alternative Symbol -- Used in OTM1 "when a tree has changed names recently, and has an alternate [USDA] code listed in the plants database." Not useful since USDA code is no longer a primary identifier

Add to importer
* Gender
* Plant Guide URL
i-Tree code is no longer a required field
Update validation for i-Tree codes and regions

* Add more errors
* Rewrite validation of i-Tree codes and regions
* Add helpers `all_itree_codes` and `has_itree_code`
* Add tests
Rename field ORIG_SPECIES as POSSIBLE_MATCHES
Compare USDA code to OTM code (and simplify methods)

Also:
* Rename/refactor functions that search the SPECIES list
* Add tests for searching by scientific name
Minor cleanup

* Clarify code in `diff_from_species`
* Remove unused return value from `validate_required_fields`
Create i-Tree code overrides

* Add helper `Species.get_itree_code`
* `diff_from_species` compares i-Tree codes
* `commit` creates i-Tree code overrides
* Refactor tests
Stopgap change in how "choice" fields are processed

The importer's code for validation of choice fields used `settings.CHOICES`,
an OTM1 variable not present in OTM2. So we need a new strategy.

For trees the choice fields will be UDF's so we'll use their choices.

For species we need a solution for "Flowering Period" and "Fruit or Nut Period".
For now I've hard-coded the USA's 4 seasons, but we need a solution that supports i18n.
Update remaining Species tests

* Add `SpeciesCommitTest` to test adding and updating species
* Remove species integration tests covered by this and other recently-added tests
Merge pull request #1730 from ctaylo37/Bulk-Upload-Prototype

Bulk Upload Prototype
Move add tree section out of plot detail
Make plot detail ui tests a package
Misc cleanup

* Use consistent order for field lists (use the same order as the Species model)
* Remove special handling of "is native"
* Typos
* Fix lint
When adding a species, set OTM code if available

Also add, use, and test a utility for finding a species in our master list by its scientific name