Rename Query::TYPE_GEO_LOCATION to TYPE_GEO_NEAR
Separate unit and functional query builder tests
Use GeoJson objects for 2dsphere query builder/expr methods

This adds an optional dependency to a GeoJSON library (see: composer.json) for handling 2dsphere queries in query builder and expression methods. It was necessary to discern between GeoJSON points and legacy coordinates for $near and $nearSphere operators, due to how they incorporate the $maxDistance option. Additionally, using an external library for GeoJSON geometries removes the responsibility of validating those geometries from doctrine/mongodb.

Tests were updated and added for all geospatial methods in the builder and expression classes.
Unit tests for all Builder methods that simply proxy Expr methods