Network Data Manager

Initial implementation of the Network Data Source Manager. Also contains implementations for the DataFilter and ESSearchBuilder. Significant test cases have been implemented with others being implemented in #71, #70, and #69.

Adds a dependency on a slightly modified version of [Jest-Droid](https://github.com/searchbox-io/Jest) for Elastic Search querying. This is done as an additional project used by Moqa. In the future we may want to make the Jest-Droid a submodule, and move it to another repo.

Also adds test data used in the test ES instance under the `/tools` directory. The `tools/add_es_test_documents.bat` script can be run on linux or Windows to populate test data (provided `curl` is installed and available.)

Deserialization has been implemented by core classes. We may want to remove the GsonTypeAdapters in favour of vanilla Gson serialization. More discussion is needed here, but this implementation should be fine for now. Serialization is not yet directly supported.

Implements searching through DataFilter as required by #51.

Closes #65, #66 
See #27, #25, #24, #20, #19
Doesn't this code just do the same thing as the above for loop?