implemented first attempt at updating heading and location based on GPS

builds and runs successfully but this added functionality will need to
be tested.
typo--replaced longitude with latitude
replaced init method with class method initialize
added setDelegate method

so ViewController can set itself as the delegate for iOSSonic
added longer path for ObjC iOSSonic.h

in the include statement, to prevent confusion with the ObjC++ iOSSonic.h
lower locationManager sensitivity
added explicit getter method for iOSSonic's delegate
added set delegate method
created protocol for iOSSonic ViewController communciation
commented out delegate stuff
made private iOSSonic memebers static
changed locationManager delegate from self to [self class]

this seems more consistent with the fact that the delegate methods
are class methods, not instance methods, yet they're still not being
called for some reason.
updating initial conds for startingheadings and locs
made iOSSonic instantiable to try and debug locationManager stuff

(1) made tracking methods instance methods
(2) made locationManager an instance member
(3) added a new lazy instantiation for locationManager

this didn't seem to make much of a difference though, and ultimately
we want iOSSonic to be non-instantiable anyways.
Revert "made iOSSonic instantiable to try and debug locationManager stuff"

This reverts commit 782a20e07009cb231b0d444480500e91784fd19e.
changed locManager del to [iOSSonic class]
locMgr del now sends notif on first update too