* adding flatbuffers and migrating flatcc to flatbuffers for plasma
* variable name changes in plasma_protocol and plasma flatbuffers schema
* quick fix
* cleanups and remove flatcc
* more cleanup
* add doc
* linting
* fix linting
* fix mac os x build
* linting
* cleanup
* c++ fix for plasma flatbuffers
* Remove flatcc from CMakeLists.txt.
* linting; trigger travis
* global scheduler with object transfer cost awareness -- upstream rebase
* debugging global scheduler: multiple subscriptions
* global scheduler: utarray push bug fix; tasks change state to SCHEDULED
* change global scheduler test to be an integraton test
* unit and integration tests are passing for global scheduler
* improve global scheduler test: break up into several
* global scheduler checkpoint: fix photon object id bug in test
* test with timesync between object and task notifications; TODO: handle OoO object+task notifications in GS
* fallback to base policy if no object dependencies are cached (may happen due to OoO object+task notification arrivals
* clean up printfs; handle a missing LS in LS cache
* Minor changes to Python test and factor out some common code.
* refactoring handle task waiting
* addressing comments
* log_info -> log_debug
* Change object ID printing.
* PRId64 merge
* Python 3 fix.
* PRId64.
* Python 3 fix.
* resurrect differentiation between no args and missing object info; spacing
* Valgrind fix.
* Run all global scheduler tests in valgrind.
* clang format
* Comments and documentation changes.
* Minor cleanups.
* fix whitespace
* Fix.
* Documentation fix.
* Add RAY.CONNECT Redis command.
* Add RAY.GET_CLIENT_ADDRESS command.
* Build and clean Redis in common Makefile.
* Use custom Redis module in Ray and use custom CONNECT and GET_CLIENT_ADDRESS commands.
* Fixes.
* Remove mapping from redis client ID to ray db client ID.
* Fix.
* Initial scheduler commit
* global scheduler
* add global scheduler
* Implement global scheduler skeleton.
* Formatting.
* Allow local scheduler to be started without a connection to redis so that we can test it without a global scheduler.
* Fail if there are no local schedulers when the global scheduler receives a task.
* Initialize uninitialized value and formatting fix.
* Generalize local scheduler table to db client table.
* Remove code duplication in local scheduler and add flag for whether a task came from the global scheduler or not.
* Queue task specs in the local scheduler instead of tasks.
* Simple global scheduler tests, including valgrind.
* Factor out functions for starting processes.
* Fixes.
* Build Ray with setup.py.
* Building photon extensions with cmake.
* Fix formatting in photon_extension.c
* Pip install with sudo in Travis.
* Fix plasma __init__.py.
* Rename and remove some files.
* Remove hiredis submodule.
* Squashed 'src/common/thirdparty/hiredis/' content from commit acd1966
git-subtree-dir: src/common/thirdparty/hiredis
git-subtree-split: acd1966bf7f5e1be74b426272635c672def78779
* Make Plasma tests pass.
* Make Photon tests pass.
* Compile and test with Travis.
* Deactive fetch test so that the tests pass.