fixed Vector2D bugs

this PR was split from #708

* crossProduct method added
* adds optional argument to save the result into instead of instantiating a new object
* various minor test fixes