BlockBasedTableConfig & PlainTableConfig enhancements

Summary:
BlockBasedTableConfig
- ported Checksum
- ported IndexType

PlainTableConfig
- added missing options
- added EncodingType

Test Plan:
make rocksdbjava
make jtest

Differential Revision: https://reviews.facebook.net/D26595
Integrated review comments by ankgup87

- Added tests
- Minor code-style changes
[RocksJava] Integrate review comments from yhchiang
Merge pull request #356 from fyrz/RocksJava-TableOptions-3.6

[RocksJava] BlockBasedTableConfig & PlainTableConfig enhancements
Apply InfoLogLevel to the logs in util/db_info_dumper.cc

Summary:
* Rename util/db_info_dummper.cc to util/db_info_dumper.cc
* Apply InfoLogLevel to the logs in util/db_info_dumper.cc

Test Plan: make

Reviewers: ljin, sdong, igor

Reviewed By: igor

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D27915
Check InfoLogLevel earlier in Log functions.

Summary: Check InfoLogLevel earlier in Log functions.

Test Plan: auto_roll_logger_test

Reviewers: ljin, sdong, igor

Reviewed By: igor

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D27993
[RocksJava] Options Refactoring 3.6

Summary:
Options extends now two interfaces DBOptionsInterface
and ColumnFamilyOptionsInterface. There are also further
improvements to the Options bindings:

Optimize methods were ported to Java. (OptimizeForPointLookup,
OptimizeLevelCompaction, OptimizeUniversalCompaction).

To align BuiltinComparator with every other Enum it was moved to
a separate file.

Test Plan:
make rocksdbjava
make jtest
[RocksJava] Extend Options with DBOptions implementation
[RocksJava] Included DBOptionsTest and refactored OptionsTest
[RocksJava] Extend Options with ColumnFamilyOptions implementation
ColumnFamilyOptions implementation with tests
[RocksJava] Extended ColumnFamilyTest