Fetch external libs with composer

*Revised summary*

### What this PR does

- adds composer support, including
  - removes `symfony/yaml` from version-control, instead using composer
  - expects to install the following libraries at install time, rather than at a later runtime (related Drush-specific library download logic removed):
    - `Console_Table`
    - `youngj/httpserver`
- installing via git now requires `composer install`, which effectively deprecates git as a simple install method.
- little fixes for getting Console_Table working via composer.

### Further considerations

- should we continue to commit the composer-fetched libraries to the repo for the sake of those installing via git, or should we deprecate that as a recommended install method?
- should we add grunt tasks to help build and push to pear repo before considering this done?

## To do

- [ ] Update README (as per https://github.com/drush-ops/drush/pull/127#issuecomment-31980986)
- [ ] Remove `vendor/` from gitignore?
- [ ] Determine effect on windows (as per https://github.com/drush-ops/drush/pull/127#issuecomment-31961983)
- [ ]  Code for Travis so that it uploads built packages for [homebrew](https://github.com/Homebrew/homebrew/blob/master/Library/Formula/drush.rb) and http://pear.drush.org (as per https://github.com/drush-ops/drush/pull/127#issuecomment-32294025)
**Note:** *The code in this PR had parity with master as of the date of the final commit. Cannot personally guarantee it is still up-to-date, and someone else will need to undertake any further work for now.*

-------------------------

*Original summary*

I really should have asked about this first, as I'm pretty sure there
are some damn good reasons for doing it the way we're doing :)

Currently, we're including our external libs as they're needed, such as
on the first run or when we try to run a server. It seemed like it would
be more prudent to fetch them when building drush, presumeably before
building for the PEAR repo.

- symfony/yaml
- Console_Table
- youngj/httpserver

I've stripped out all the utility for sanity-checking all the lib stuff,
and loading it. Everything should be in composer.json now, locked down
just as it was before.

The one thing I needed to do was redefinie the the
`CONSOLE_TABLE_ALIGN_LEFT` constant in environment.inc, since it seems
not to be included when loading PEAR packages via classmap method (it's
defined outside the class).

Anyhow, let me know :)