Bugfix/dont free nonowned object

Running the static analyzer reveals a potential crash. If YES is given to the `freeWhenDone` parameter of `-[NSData dataWithBytesNoCopy:length:freeWhenDone:]` then ownership is passed to the returned object and it's no longer the responsibility of the caller to free the underlying buffer.

There was also a few low-hanging fruit type warnings that I fixed. Haven't migrated away from the now deprecated OCUnit, so that warning is still there. 

ffd7502 is just some changes I had to make to the pbxproj to even get it to build.