Package should have download options
Package options must be passed as argument to downloader
Package options should be dumped if exists
Package options must be a non mandatory array and should be loaded when
exists
Repository options must be replicated on package when dist file is under
repository base dir
Improved the handling of trunkPath

- $this->baseUrl is only used if $this->trunkPath === false, otherwise
we will use $this->baseUrl with $this->trunkPath.
- scanning through trunkPath will now look for composer.json file
instead of a path that matches $this->trunkPath, beacuse checking
against the latter failed with deeper trunkPaths
- $this->rootIdentifier is now 'trunk' no matter how deep
$this->trunkPath is (with deeper trunkPaths, the name became something
like "dev-trunk-devel-team-packages-package"
Fixed a coding style issue

Missing a space between if and (
Add a warning for unbound constraints in the validating loader

Closes #2165
Added a new FAQ entry about unbound version constraints
Add remove command to remove a package from the list of current installed packages
Don't throw an exception if the called script is not one of the
event-scripts. This makes it possible for one to define their own
scripts like "make-release" etc.
Throw an exception if no listeners have been found for given event.
Check if a given event has registered any listeners. If not the script
is not defined in the composer.json file
Don't throw exception in the doDispatch method.
Added a new method to check if an event has any listeners registered.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	src/Composer/Downloader/FileDownloader.php
added "home" command like the npm one, opens a package in your browser
some minor refactorings
tiny refactorings
escape shell args