Tuned ``MainClassVerifier`` to consider classfiles instead of sourcefiles

The Problem
+++++++++++

With the former implementation, an error was reported every time the _package
name in the source did not match the source's physical location_. This is too
eager, in fact the two don't need to be in sync for the user to be able to
launch a Scala Application.

However, despite the error dialog, the Scala Main class was still run. The
reason for this is that there was a double bug! (I'm gonna name tihs one
*hadouken-bug*) [This
line](https://github.com/scala-ide/scala-ide/pull/444/files#L2L122) was always
returning ``true``. What that line wanted to check is the ``IStatus.severity``
field, but it was actually comparing the ``IStatus.code`` (the IStatus
interface is definitely not the cleanest API ever, can't really blame people
for getting confused...).

The Solution
++++++++++++

The minimal condition for running a Scala Application is that the class' Main
binary exists. Hence, I've updated the code to reflect this requirement.

Moreover, if a class file for the ``mainTypeName`` exist, but no companion
module class file can be found, an error is now reported to inform the user
that he needs to change the class declaration into an object.

Fix #1001760
In the immortal words of @paulp:
 "Can we please, please not do this:

  import PatternMatchingStats._
  import global.{phase, currentRun, Symbol,
    Apply, Bind, CaseDef, ClassInfoType, Ident, Literal, Match,
    Alternative, Constant, EmptyTree, Select, Star, This, Throw, Typed, UnApply, (...)"

Let's simplify merges, by making our imports mono-line !

Thanksfully, in the IDE, we don't do (many) *mutli-line* braced Imports, so it
was enough to filter them with the following one-liner:

for i in `find ./ -type f -name "*.scala"`; do perl -nle 'if (m/^(\s*)import\s([^\n]+?){([^}]*?)}$/smg){my ($s,$x,@y)=($1,$2,split /,\s*(?!_|\s)/,$3); foreach $dep (@y){$dep =~ s/^\s+|\s+$//g; $dep=($dep =~ m/=>/)?"{ $dep }":$dep;print "${s}import $x$dep";}} else {print $_;}' $i > $i.nu; mv $i.nu $i; done

Note the negative lookahead to avoind busting final wildcards in
braced imports (see the Spec version 2.9, section 4.7), .

If you want to do this on a repo that contains multi-line braced
imports, look into unsetting the special variable '$/' of perl, and
relax the condition on the presence of new lines in the second capture
group of the regex above. I strongly advise against doing this
automatically on such a repo, though.

Fixes of multiline braced imports (manual).

Let this be the end of this lazy, messy, mergepain-inducing practice.

Fixing test relying on braced import.
Update Scalastyle Maven plugin to version 0.3.2
Merge pull request #448 from sschaef/t-scalastyle-update

Update Scalastyle Maven plugin to version 0.3.2
Merge remote-tracking branch 'origin/pr/444'
Merge pull request #439 from huitseeker/split-monoline-multiple-imports

Removes needless braced imports to ease merges.