Add util method - check if table contains field
Implement separate SOURCE, DESTINATION tables
Add missing unit tests
Add empty table unit test fails
Add unit test for same table used as ST,DT (square)
Reuse Dijkstra object
Add unit test for when graph doesn't contain vertex
Add unit test for hasField method
Merge pull request #396 from agouge/separate-tables



As requested by @ebocher, we had two signatures to ST_ShortestPathLength:

ST_ShortestPathLength('INPUT', 'O [- EO]', 'ST', 'DT');
ST_ShortestPathLength('INPUT', 'O [- EO]', 'W', 'ST', 'DT');

where

    ST = Source table
    DT = Destination table

Both of these tables must have as their first column a column of integers
corresponding to vertex IDs in the graph.

We throw exceptions if:

    Either table is empty
    Either table contains a vertex id corresponding to a vertex the graph does not contain

Notice that the first signature conflicts with the previous signature

ST_ShortestPathLength('INPUT', 'O [- EO]', 'W', 'SDT');

To resolve this, I check if table INPUT contains the String in position 3
using the new JDBCUtilities.hasField method. If so, then this String
corresponds to the weight field W. Otherwise, we assume it corresponds to
ST.

Unit tests added.