Add missing 'w' parameter to javadoc
Add first attempt at ST_ShortestPath
Correct ST_ShortestPath and add a unit test
Add edge geometries to the output of ST_ShortestPath

TODO: Recover the spatial field index correctly
Add ST_ShortestPath to the list of functions
Add DO tests

This groovy script was really useful to me for writing the unit tests:

```groovy
import groovy.sql.Sql

def sql = new Sql(grv_ds)

5.times{ i ->
     5.times{ j ->
          println "oneToOne(DO, st, " + (i+1) + ", " + (j+1) + ","
          println "new PathEdge[]{"
          sql.eachRow("SELECT * FROM ST_ShortestPath('CORMEN_EDGES', 'directed - edge_orientation', " + (i + 1) + ", " + (j + 1) + ")") { row ->
               println "    new PathEdge(\"" + row.the_geom + "\", " + row.edge_id + ", " + row.path_id + ", " + row.path_edge_id + ", " + row.source + ", " + row.destination + ", " + row.weight + "),"
          }
          println "});"
     }
}
```
Put edge weights on ASCII art / fix orientations
Fix local ID numbering.

Note: The local ID always corresponds to the number of steps in the
current shortest path. When two shortest paths merge, only the minimum
global ID is conserved.
Make unit test cover all cases
Add WDO tests
Format test better
Add RO tests
Add WRO tests
Add U tests with difficult tests in comments.

I need to change the implementation of predecessor edges in JNA from a
Set to a List so that the order will be predictable. Otherwise I will
have to write 4! or 5! entries for shortest paths between just two
vertices.
Add WU tests
Simplify comments
Make edge geometries distinguishable
Distinguish NODE_GEOM and EDGE_GEOM
Add GraphFunction helper class
Handle the case of an unreachable vertex

If d is unreachable from s, return a table with just one line:
    EDGE_GEOM = null
    EDGE_ID = -1
    PATH_ID = -1
    PATH_EDGE_ID = -1
    SOURCE = s
    DESTINATION = d
    WEIGHT = Double.POSITIVE_INFINITY

Also test when a target vertex is not found.

TODO: Test when a source vertex is not found.