Package level whitelisting

Adds support for package level filter such as:

    filter {
        packages = [
            "scala.reflect.internal",
        ]
    }

Changes the config loading to use a default config, to
avoid errors if we load a whitelist that only has one of
`problems` or `packages`.

Tested manually with the build from Scala 2.10.2.

Procedure:

1. Publish modified version of MiMa to my local maven repo:

    sbt> set every publishTo := Some(Resolver.file("file",  new File(Path.userHome.absolutePath+"/.m2/repository")))
    sbt> publish

2. Point to the new version in mima.classpath in scala/scala's build.xml

3. Induce a BC failure (actually its enough to build without -optimize, `ant build test.bc`)

4. Filter this out with `packages = ["scala.xml"]`.

5. Confirm that the problem *isn't* filtered if:
  - the `packages` section is omitted entirely
  - the `packages` section exists, but is empty
  - the `packages` section contains "scala.xm" or "scala.xmllll"
Update MiMa to SBT 0.13.0 and Scala 2.10.2

 - Updates Specs dependency, and explicitly includes Mockito and JUnit
 - Updates tests for changes in scalac (no more ScalaObject, and case
   class copy methods for abstract case classes.)
 - Depends on scala-actors. We should update this. Or, see if the GUI is
   actually used and think about deprecating it.
 - Accounts for removed methods from the stdlib and inference changes
   due to the addition of Option.flatten.
 - Update to SBT 0.13.0. The build has not been refactored to take advantage
   of this yet.
Updates to the latest Specs2.
Remove duplicate resolver (it is now standard in SBT.)
Turn on compiler warnings and address them.

Mostly deprecations.
Merge pull request #44 from retronym/topic/package-filter

Package level whitelisting
Address (most) warnings in functional tests.

One remains:

    % find reporter/functional-tests -name '*.class' | grep target | xargs rm && sbt ';test-functional;last-grep warn'
    [success] Total time: 34 s, completed Sep 2, 2013 11:13:59 AM
    [warn] /Users/jason/code/migration-manager/reporter/functional-tests/src/test/class-bridge-method-ok/v2/A.scala:7: class bridge in package annotation is deprecated: Reconsider whether using this annotation will accomplish anything
    [warn]   @bridge def foo: Int = (foo: Object).asInstanceOf[Int]
    [warn]               ^
    [warn] one warning found

Incidentally, running `sbt 'clean;test-functional'` *doesn't* seem to
clean the products of compiling the functional tests.
Merge pull request #45 from retronym/topic/sbt-13

Update MiMa to SBT 0.13.0 and Scala 2.10.2
Updated README to reflect recent move to sbt 0.13.0

The project's build is now based on sbt 0.13.0. Hence, it was time to update
the rather outdated Eclipse and Build section in the README.
Merge pull request #47 from dotta/README-updates

Updated README to reflect recent move to sbt 0.13.0
Use decoded names when checking if a classfile is reachable from client code

Operators are encoded into `$<plain-name>` during compilation to please the
JVM. Hence, the former implementation of `PackageInfo.isAccessible` was broken
as it relied on the encoded name of a class, instead of using the decoded one.
This commit fixes the issue.

Fixes #46
Merge pull request #49 from dotta/issue/use-decoded-names-when-checking-accessibility-of-class-46

Use decoded names when checking if a classfile is reachable from client code
Preparing 0.1.6 release

* Bumped version
Bump version to 0.1.7-SNAPSHOT for new dev.