Stop using strings to store from, to and intermediate locations in RoutingRequest.

The fact that RoutingRequest stores from and to locations as pairs of name,place strings makes it really hard to extend the routing code. Also, keeping them as strings meant that they needed to be parsed by clients of RoutingRequest. I've:

1) Created a GenericLocation class for storing to/from/intermediate locations.
2) Unit tests for GenericLocation.
3) Factored all the parsing code out of RoutingRequest, RoutingContext and StreetVertexServiceImpl.
4) Use GenericLocation to represent all the locations in RoutingRequest.
5) Fix the tests that broke.