Fixed a syntax error preventing compiling in test_list_goals.py, and added it to the pants_test/tasks/BUILD testing suite.
Fix the analysis case for when a scala_library has a java_source that depends back on the scala_library

Reviewed at https://rbcommons.com/s/twitter/r/507/
Make the GroupTaskTest more tolerant of the ordering of prepare_execute_action().

RB_ID=https://rbcommons.com/s/twitter/r/504
Fixup the IntelliJ doc, after actually using it to setup pants/IntelliJ on my Mac

RB_ID=https://rbcommons.com/s/twitter/r/379/
Adding a dependency from a java_library to a scala_library, this should not trigger the build dependency missing warning.

Jmake's analysis file only contains the dependency class names, not the full path to the class file. This means it assumes
they are in the compiled java directory, meaning we get missing dependency warnings for scala files.

Changed to pick those up in the correct classes directory.

Reviewed at https://rbcommons.com/s/twitter/r/474/
Fix erroneous binary dependency for the bundle goal.

Testing Done:
Using `PANTS_DEV=1 ./pants goal bundle {src,tests}/{java,scala}::`

Before:
=======
3.862	main:binary
3.540	main:binary:binary
3.517	main:binary:binary:create-monolithic-jar
3.266	main:binary:binary:create-monolithic-jar:jar-tool
1.631	main:jar
1.624	main:jar:jar
1.618	main:jar:jar:jar-create
1.505	main:jar:jar:jar-create:jar-tool
1.368	main:resolve
1.363	main:resolve:ivy
1.280	main:resolve:ivy:map-jars
0.661	main:bundle
0.654	main:bundle:bundle
0.624	main:bundle:bundle:create-monolithic-jar
0.464	main:bundle:bundle:create-monolithic-jar:jar-tool

After:
======
1.419	main:jar
1.413	main:jar:jar
1.402	main:jar:jar:jar-create
1.327	main:resolve
1.322	main:resolve:ivy
1.295	main:jar:jar:jar-create:jar-tool
1.236	main:resolve:ivy:map-jars
0.638	main:bundle
0.632	main:bundle:bundle
0.605	main:bundle:bundle:create-monolithic-jar
0.442	main:bundle:bundle:create-monolithic-jar:jar-tool

Bugs closed: 219

Reviewed at https://rbcommons.com/s/twitter/r/513/
Divorce 'binary' and 'bundle' goals from the 'jar' goal.

Save effort and time by extracting classfile jar creation
logic to JarTask and using this in JarCreate and JvmBinaryTask
to create classfile jars directly.  Previously BinaryCreate and
BundleCreate re-packed jars containing internal classes created
by the JarCreate Task.  Now time is saved by not creating these
middle-man jars at all.

Testing Done:
$ PANTS_DEV=1 ./pants goal test tests/python/::

Then:
Using `PANTS_DEV=1 ./pants goal bundle {src,tests}/{java,scala}::`

Before:
=======
1.419	main:jar
1.413	main:jar:jar
1.402	main:jar:jar:jar-create
1.327	main:resolve
1.322	main:resolve:ivy
1.295	main:jar:jar:jar-create:jar-tool
1.236	main:resolve:ivy:map-jars
0.638	main:bundle
0.632	main:bundle:bundle
0.605	main:bundle:bundle:create-monolithic-jar
0.442	main:bundle:bundle:create-monolithic-jar:jar-tool

After:
======
1.479	main:resolve
1.473	main:resolve:ivy
1.383	main:resolve:ivy:map-jars
0.708	main:bundle
0.701	main:bundle:bundle
0.669	main:bundle:bundle:create-monolithic-jar
0.493	main:bundle:bundle:create-monolithic-jar:jar-tool

IE: 1.419 seconds of JarCreate time cut out, and 0.063 seconds of Bundle time added.

I also verified binaries and bundles were still runnable and had embedded resources where they did before this change.

Bugs closed: 220

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