remove cfd->options() in DBImpl::NotifyOnFlushCompleted

Summary: We should not reference cfd->options() directly!

Test Plan: make release

Reviewers: sdong, rven, igor, yhchiang

Reviewed By: igor, yhchiang

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D29061
remove all remaining references to cfd->options()

Summary:
The very last reference happens in DBImpl::GetOptions()
I built with both DBImpl::GetOptions() and ColumnFamilyData::options() commented out

Test Plan: make all check

Reviewers: sdong, yhchiang, igor

Reviewed By: igor

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D29073
[RocksJava] Convenience methods for Options

RocksDB introduced in 3.7.0 convenience methods
for getting ColumnFamilyOptions and DBOptions
instances from predefined configuration structures.

There is now also a method in RocksJava to load DBOptions
as well as ColumnFamilyOptions from a predefined Properties
based configuration.
[RocksJava] Integrated changes in D29025

Addressed review comments.
Missing header in build on CentOS

While building RocksJava the build fails on
CentOS because of the missing stdexcept header.
Merge pull request #408 from fyrz/Missing-include

Missing header in build on CentOS 6.5, GCC4.7
Merge pull request #405 from fyrz/RocksJava-Convenient-Options

[RocksJava] Convenience methods for Options
fix clang compilation

Summary:
as title
[RocksJava] Make cleanup - Clean Target

- Remove JNI includes on clean
- Remove target folder generated by Maven
- Remove shared object
- Remove jar
[RocksJava] JavaDoc is executed too often

Previous to this commit too much targets got dependencies
on javadocs target.

Introduced one additional target "javalib" which resolves
that situation. JavaDoc will now be generated once while
executing a task with prefix "rocksdbjava".
[RocksJava] Strip library in publish

Currently maven publishing uses the library with debug symbols. What
leads to unnecessary big library sizes. Included strip to remove
unnecessary stuff. 40M -> 2.7M
Merge pull request #409 from fyrz/RocksJava-Make-cleanup

[RocksJava] Build improvements
Introduce GetThreadList API

Summary:
Add GetThreadList API, which allows developer to track the
status of each process.  Currently, calling GetThreadList will
only get the list of background threads in RocksDB with their
thread-id and thread-type (priority) set.  Will add more support
on this in the later diffs.

ThreadStatus currently has the following properties:

  // An unique ID for the thread.
  const uint64_t thread_id;

  // The type of the thread, it could be ROCKSDB_HIGH_PRIORITY,
  // ROCKSDB_LOW_PRIORITY, and USER_THREAD
  const ThreadType thread_type;

  // The name of the DB instance where the thread is currently
  // involved with.  It would be set to empty string if the thread
  // does not involve in any DB operation.
  const std::string db_name;

  // The name of the column family where the thread is currently
  // It would be set to empty string if the thread does not involve
  // in any column family.
  const std::string cf_name;

  // The event that the current thread is involved.
  // It would be set to empty string if the information about event
  // is not currently available.

Test Plan:
./thread_list_test
export ROCKSDB_TESTS=GetThreadList
./db_test

Reviewers: rven, igor, sdong, ljin

Reviewed By: ljin

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D25047
Fix clang compile error
Fix asan error in thread_status_impl.cc
Fixed -Werror=unused-but-set-variable in thread_status_impl

Summary:
Fixed -Werror=unused-but-set-variable in thread_status_impl
[RocksJava] BackupableDBOptions alginment + 3.8

- Updated the BackupableDBOptions functionality to 3.8.0.
- Aligned Options implementation with remaining source code.
- Invented test-case.
[RocksJava] Backupable/Restorable DB update 3.8.0

- GarbageCollectMethod() available.
- GetCorruptedBackups() available.
[RocksJava] Improved BackupableDBTest

- Splitted methods to meaningful tests
- Added tests for additional functionality
- Covered missing parts
[RocksJava] Cleanup Backupable implementations

- Correct usage of isInitialized()
- Adjusted JavaDoc