refactor test suite

group integration tests under 'integration' package
add test suite (to group read/write operations which depends on each
other)
add ES as an embedded server instead of an externally managed dependency
move temporary ES data store into build/ folder
avoid index collision between tests
add preemptive index refresh after bulk insert

prevent stale data to occur for fast applications (such as tests) that
read, right after a bulk write
add option 'es.batch.write.refresh' to control this behaviour (default
true)
fixes #35
move unit tests into their own package to ease testing

update build.gradle to properly run unit and integration tests
use Suite instead of unit tests for integration testing
Fix bug in Cascading Hadoop sink affecting writing

A missing settings caused Cascading to replace the ES InputFormat with
a null implementation causing the data to be completely discarded
In addition a safety check was put in place along with a no-op
OutputCommitter to reduce the number of moving pieces
Handle unwrapping of writable objects before ES indexing
Improve integration tests staging
remove some compilation warnings
fix bug causing the refresh after bulking not to occur
parameterize all tests to work against a non-default ES instance

as there are multiple potential builds on the server, it's likely the
default port (localhost:9200) is used so currently the build uses
9700-9800 and 9800-9900 as the ports for transport
fix typo

fixes #24
add Bamboo reference in README
quick js test
change ESStorage constructor to accept only Strings

fixes #34
fix incorrect parsing of List/Writable parsing

add unit test to prevent such mistakes from occurring again
fixes #36
fixes #37
fixes #38
add antlr switch for pig vs hive
improve Cascading PrintStream tap
improve Hive tests (load test fails without any message)
fix gradle build