Added Progress Output

Often Composer can be quite slow, so I though it would be useful to have a system to output progress information.

I added a `ProgressInterface` interface that defines methods for writing progress information.
I also looked through the `Installer` source, and found slow parts of it that should be given the 'progress' treatment.

If you don't specifiy a `ProgressInterface`, it will just default to `VoidProgress` which will output nothing.

At the moment, the only proper `ProgressInterface` implementation is `FileProgress` writes to a JSON file like this:

    {
      "progress": {
        "section": {
          "message": "Processing Dev Packages (Task: 'force-links')",
          "count": 2,
          "total": 0
        },
        "item": {
          "message": "symfony\/translation",
          "count": 0,
          "total": 66
        }
      }
    }

However I was thinking that in the future you could add a `ConsoleProgress` implementation that would use Symfony's [ProgressBar](http://symfony.com/doc/current/components/console/helpers/progressbar.html) to output progress.

I understand that this probably won't fit in with your plans for Composer, but I thought I'd send a pull request anyway just in case you think it is useful.

EDIT: 

A quick search of Pull Requests showed that people are already doing/done this, however this implementation might add something new, perhaps. :)

I realised it's failed tests. I'm working on a fix now.
whoops ?