Pysopnet: add binding for segment hashing

Add a binding to a segment hash_value function so that segments
created in python can generate proper hashes. Also bind a class for
vectors of SliceHash for easy argument passing.
PostgreSqlSegmentStore: support featureless segments

User-created segments do not have features, and do not need them as they
are constrained to be in the solution. Update the segment retrieval
query to include segment rows without feature sets, and remove a
needless string trim to support parsing empty feature sets in these
results.
PostgreSqlSegmentStore: simplify segment parsing (minor)

Remove some superfluous code for clarity.
PostgreSqlSegmentStore: use solution sets

Update storeSolution to reflect changes in solution schema. Now creates
a new solution entry for each set of segments stored as a solution and
sets this solution as taking precedence on completion. Requires two
queries since the ON INSERT RULE for solution precedence prevents it
being involved in a CTE, but performance is unchanged.
PostgreSqlSliceStore: remove CTE for slice storage

Initial results showed the CTE to be (counterintuitively) up to 5%
faster than the insert committed here. However, more extensive testing
showed this performance difference not to be significant across systems,
and the non-CTE version is more readable and produces more concise
queries.