Better handling of lucene corruption.

 o Label scan store now halts database start if lucene is corrupt, with an exception explaining how to resolve the issue.
 o Lucene provider for new indexing now marks corrupt indexes as failed, such that the user manually must drop the index and re-create it.
Remove the last references to deprecated Transaction.finish() from production code.
Remove unused old ShortString stuff.
Remove some calls to Transaction.finish() from test code.
Merge pull request #1171 from benbc/2.0-remove-deprecated-finish-calls

2.0 remove deprecated finish calls
converting nested literal maps for java compatibility
Correct result type of labels() function

Now collection of strings. Fixes #1173.
Move a functional test from its own folder to src/test.
Merge pull request #1175 from tinwelint/2.0-index-popupation-deduping

Fixes a race condition between index population and incoming updates
Merge pull request #1174 from cleishm/labels_type_fix

Correct result type of labels() function
Merge pull request #1165 from jakewins/dont-start-on-corrupt-idx

Better handling of lucene corruption.
Merge pull request #1180 from benbc/2.0-move-integration-test

Move a functional test from its own folder to src/test.
Descriptions for public packages.
Ensures tx manager gets called in KernelTransaction#commit no matter what

Calling KernelTransaction#commit must end up calling transaction manager
commit so that the transaction will get finished properly. This is done by
having any operations done before it performed in a try with the tx
manager delegation in its finally clause.