Wrote unit tests and refactored Crop.create_from_csv
The actual bug (now fixed) is that if you didn't specify a SN in the
CSV, it would try and pick it up from the parent crop, but then the
testing for "is this a dup?" was based on what was in the CSV and didn't
take that parent SN into account. This is now fixed.