This commit adds the nio transport as an option in place of the mock tcp transport for tests. Each test will only use one transport type. The transport type is decided by a random boolean generated inside of the `ESTestCase` class.
This commit moves tribe to a module, stripping core from the tribe functionality.