Add initial :JavaNew implementation for creating new types

Supports tab-completed element type (eg: class, interface) as well
as packages for the name of the new Type.

Usage:

  Without a package, the Type is created in the current package
    :JavaNew class Foo

  But package can also be specified
    :JavaNew interface com.example.Bar

  Abstract classes are just "absract" for brevity
    :JavaNew abstract Baz

Limitations:

  Does not yet support packages that aren't already created
Checkstyle cleanup
merge dhleong/JavaNew into master
improve JavaNew completion to account for the cursor position better

refs #362
format the code created by jdt NewCommand

Format the code so that it conforms to the user's configured brace
formatting, etc.

refs #362
update java new command to handle .java suffix + slashes if present

refs #362
fix JavaUtils.getPackageFragment to match full package name

If you have an existing package "foo.bar" and used getPackageFragment
with "bar", it would return "foo.bar" as a found package since it is
just checking if the path on disk ends in the supplied package name.
Instead, check the actual package name and don't use the on disk path.

refs #362
update jdt NewCommand to create missing packages if necessary

refs #362
another fix to restore System out/err to stdout/stderr in headless eclimd
Merge remote-tracking branch 'rkannan82/master'
additional docs added for new JavaDebugBreakpointToggle

refs #368
couple :JUnit tweaks (! + run w/ warnings)

- add ! option to :JUnit to always show the results, even if all tests
  pass
- don't prevent running :JUnit when there are source code warnings (only
  prevent if there are src errors)
fix setting of b:eclim_project on search results outside of project

fixes case like so:
- search for java.util.List
- search for java.util.Collection from List
- search for java.util.Iterable from Collection
add vunit test for :JavaNew

refs #362
add docs for :JavaNew

refs #362
update :JavaNew to prompt user to choose src dir when necessary

refs #362
update JavaNew to use package root classpath entry path instead of the name

The name ends up being just the last segment of the path, so it may not
be unique.

refs #362
fix scala completion when proposal is not a method

fixes #369
Display test code references after all the main code references.

It is useful to group main and test code instead of interleaving them.
Typically, we do code reference to identify the main code flow and so
we don't care about test code references.

We need a better way to group references based on package, but that requires
VIM side changes. So for now this will address the need.

Testing:
Verified the test references are listed in the end.