add Test Framework

Re-organize Test Lib.
Add test framework CustomPorjectLocader.

Testing Done:
New CI
https://travis-ci.org/pantsbuild/intellij-pants-plugin/builds/43613557

Command line:
testing 1 project
./pants goal test testFramework/com/twitter/intellij/pants/testFramework/runner
    --test-junit-jvmargs="-Didea.load.plugins.id=com.intellij.plugins.pants"
    --test-junit-jvmargs="-Didea.plugins.path=$INTELLIJ_PLUGINS_HOME"
    --test-junit-jvmargs="-Didea.home.path=./.pants.d/intellij/plugins-sandbox/test"
    --test-junit-jvmargs="-Dproject.targets=examples/src/scala/com/pants/example/hello,examples/src/java/com/pants/examples/hello"
    --test-junit-jvmargs="-Dproject.workspace=../pants"

testing 2 projects
./pants goal test testFramework/com/twitter/intellij/pants/testFramework/runner   --test-junit-jvmargs="-Didea.load.plugins.id=com.intellij.plugins.pants"   --test-junit-jvmargs="-Didea.plugins.path=$INTELLIJ_PLUGINS_HOME"   --test-junit-jvmargs="-Didea.home.path=./.pants.d/intellij/plugins-sandbox/test" --test-junit-jvmargs="-Dproject.targets=examples/src/scala/com/pants/example/hello"  --test-junit-jvmargs="-Dproject.workspace=../pants"

$cat project_list.txt
examples/src/java/com/pants/examples/hello

$./pants goal test testFramework/com/twitter/intellij/pants/testFramework/runner   --test-junit-jvmargs="-Didea.load.plugins.id=com.intellij.plugins.pants"   --test-junit-jvmargs="-Didea.plugins.path=$INTELLIJ_PLUGINS_HOME"   --test-junit-jvmargs="-Didea.home.path=./.pants.d/intellij/plugins-sandbox/test" --test-junit-jvmargs="-Dproject.config.list=./project_list.txt"  --test-junit-jvmargs="-Dproject.workspace=../pants"

If you run this with birdcage, it fails since we have a lot of symlinks in birdcage. Intellij FileCopyUtil cannot copy directories with links.

This should resolve after merging with Fedor's change

Reviewed at https://rbcommons.com/s/twitter/r/1452/