Progress on #19: case-insensitive highlighting
Solved case-preserving highlighting for #19
Resolved the highlighting part of #19: unit test.
Resolved #19: regex matching for better positioning

- Switched to regex-based solution
- Fixed bug with only 10k chars coming back from the content (use
getBytes)
- Added padding (10 chars) prior to first find
Simplified full-text content fetching from DB.

Turns out it's not the `getString` call that truncates the data; it's
Eclipse's debugger view. Derp.
Resolved #51: use PreparedStatement

- Created data access layer in Repository with `SqlCommand` class
- Refactored all repository + DB access code to use it