Only indicate support for package types that are actually supported

This pull request is a fix for composer/installers#98

It adds a protected method to `Composer\Installers\Installer` that checks the installer class for a class constant (`PATTERN`). The constant is defined already on `BaseInstaller`, so it will never be undefined. If no pattern is available, it will return the current value of `'(\w+)'`. Otherwise, it will return a pattern (e.g. for `WordPressInstaller`, the pattern is `'(plugin|theme|muplugin)'`. This pattern is used to match the second half of the package type after the framework's slug.

Unit tests have also been updated to reflect the new functionality.