Refactor point test and add randomly generated 2d points to test suite

Fixes #12, that headings were being computed wrong. Another advantage to this commit is that there are now randomly generated points included in the test suite. The tests still pass, further proving the robustness of the heading method.