improve error reporting in PathUtilities
fix memory leaks + passing an uninitialized variable
fix linker error for unit test target
break GoPoint retain cycle that occurs via the _neighbours array (fixes #188)
GoPoint no longer records neighbour objects to NSCoding archive

the values of those properties that access neighbour GoPoint objects
do not need to be stored in the NSCoding archive, because the
property getters are equipped to initialize the property value on first
use.

not storing those property values in the NSCoding archives reduces the
size of the archive file roughly in half for a 19x19 board (e.g. 64 KB
for the blood-vomiting game, down from an original 128 KB).

it is debatable whether it is slower to recalculate the property values
than to load the values from file on application startup (keep in mind
that decoding the values from the archive also takes some time). however
writing the archive file is definitely faster, and that occurs many more
times than loading the archive. the overall benefit to the user
experience therefore seems clear.