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
Merge pull request #449 from huitseeker/backport/run-app-should-not-display-info-dialog-when-binary-main-can-be-found-1001760

[backport] Tuned ``MainClassVerifier`` to consider classfiles instead of sourcefile...
Updated version of Sbt dependencies to use 0.13.0-RC3

* Updated Scala version to 2.10.2 (2.10.2-SNAPSHOT can no longer be resolved,
which is why some people in the community have reported issues building)

* Updated version of Sbt dependencies to 0.13.0-RC3-SNAPSHOT (when building
against Scala 2.10.2), and 0.13.1-SNAPSHOT (when building against
Scala 2.11.0-SNAPSHOT).  The odd version number is due to the fact that we
rebuild Sbt artifacts every night against the latest Scala 2.10.3 and
2.11.0-SNAPSHOT, and hence the trailing SNAPSHOT is needed to make Maven happy.
Also, sbinary version is now 0.4.2-SNAPSHOT because that is the version used
by Sbt 0.13.0-RC3.
The reason for moving the 3.0.x release branch to Sbt 0.13.0-RC3 is that an
important fix related to cancellation was fixed in Sbt (more details in
https://github.com/sbt/sbt/pull/821)
(cherry picked from commit 3b7d628b8439082c9e7cc4b4400aac18e3f2f01a)

* Fix build for latest changes to Sbt 0.13.0-RC3. That is not a problem,
as the next release off this branch would be on the next
final 0.13.0 Sbt release.
(cherry picked from commit c4f66e5324a014d7587b4bdfaa9a47f7b3a221b5)

* Updated ``org.scala-ide.sbt.full.library`` .classpath
Merge pull request #473 from dotta/backport-3.0.x

Updated version of Sbt dependencies to use 0.13.0-RC3
Updated sbt.version to 0.13.0-RC4
(cherry picked from commit f55ae2338f7058683aaa96a0cf16a873c616ef8b)
Merge pull request #487 from dotta/transient/backport/update-sbt-to-rc4

Updated sbt.version to 0.13.0-RC4