CrowdSource_File is done, but not tested

_Test:
- realized that a test was using self.StartingLine before that was even
set (for determining East of West server location)

FieldTest_File:
- Line 298, although len(latitudes) and len(longitudes) should give the
same value, when calculating AvgLongitude, I should use len(longitudes)
- reformat of __str__ (Latitude and Longitude are printed together
inside of parentheses)

CrowdSource_File:
- big update of documentation at top of file
- some comments when first declaring class attributes to explain what
applies to which kind of files
- in parsing of Phone test, when setting self.Server, self.Host,
self.WiFiBSSID, and self.WiFiSSID, set to “N/A” if no value was found
- self.Environment sometimes does and doesn’t have a colon. Parser now
searches for “This device was”, and then removes the colon if it is
present.
- in Phone AppVersion v1.0, self.DistanceMoved defaults to 0
- in Phone v1.1+, we determine LocationSource (GPS or Network), then
self.Latitude/Longitude (based on whether __LastKnownLat/Long had good
values), then get: average GPS Lat/Long, GPS distance moved, average
Network Lat/Long, and Network distance moved.
- in Desktop, we only parse for Client Type, App Version, OS
information, network provider (stored as Network ISP), environment (is
really OS common name), Connection names and types, and Lat/Long
position. All others set to “N/A”
- added findAndParseUDPTests()
- updated __str__ to print out information. Has many if/else blocks for
determining if printing a desktop, phone v1.0, or phone v1.1+