Use JNA for edge betweenness centrality.

Note that ST_GraphAnalysis has become an ExecutorFunction again, which
fixes #62. However, for the time being, it registers two tables:

    * node_centrality
    * edge_centrality

This means that if ST_GraphAnalysis is run two times in a row, the
analysis will be done (which could be rather lengthy), but the results
will not be saved, since tables with those names already exist.

Two solutions are possible:

    1. Make the user specify an output prefix.
    2. Decouple the edge betweenness calculation from the vertex
    betweenness calculation.

(2) would require changes in the JNA library, but might be good for
performance in undirected graphs. To be debated ...

(1) should probably be implemented in the short term to avoid this
problem.
Solve the problem mentioned in previous commit

Unique names should be okay now.
Update pom

[ci skip]
Add missing javadoc

[ci skip]
Rearrange to make code more logical.
Merge pull request #63 from agouge/edge_ids

Use JNA for edge betweenness centrality

Using JNA 0.1.2, we are now able to compute edge betweenness centrality in addition to node closeness and betweenness centrality when ST_GraphAnalysis is executed.