Add unit test for verse 0 mapping
QA Cleanup
JS-287 Added getRawTextLength and refactored Backend.
Created interface Backend for AbstractBackend.
Improved OpenFileState implementations to have testament vectored file retrieval.
Made AbstractBook require a non null Backend.
Created NullBackend.
Removed getVersification from AbstractBackend. It wasn't used and is not true of all Backends.
Changed IOUtil.close(state) to OpenFileStateManager.release(state), a bug fix.
Removed Activation and Lock from SwordDictionary (GenBook remains).
Merge remote-tracking branch 'remotes/upstream/master'
JS-287 Added missing Backend
Adding extras to git ignore to avoid committing JRebel
Fix to addAll
Merge pull request #73 from mjdenham/master

Add unit test for verse 0 mapping
Merge pull request #74 from sijocherian/master

JS-98: IndexManager.needsReindexing(Book book); as the API to detect if per-book index need to be recreated
Eliminate AIOBounds exception when adding an empty key.
Merge branch 'fix-to-addall' of https://github.com/tyndale/jsword into tyndale-fix-to-addall
Merge remote-tracking branch 'remotes/upstream/master'
- Managing the add/update of values in InstalledIndex.prop programatically
- location of prop file : WritableProjectDir}/JSword/lucene
- Added PerBook module Version in the property name
getInstalledIndexVersion() usages has been moved from IndexMetadata to InstalledIndex.
The InstalledIndex version still returns 1.2 , so should be back compatible
fix NPE if Version is not available
added usage sample method LuceneIndexManagerTest.createOrUpgradeIndex()
Refactoring for cleanup