introduce abstraction for phar to be created
remove direct dependency to external class
Merge pull request #24 from mikey179/phar-abstraction

introduce better phar abstraction to express more clearly our own business domain
split logging into separate class
remove dependency to PharComposer in bundlers
refactor bundlers so that they return a bundle

A bundle represents the list of resources to be added to the target phar. This allows us to decouple the bundlers from actually knowing the target, and keeps their single responsibility to collecting the resources. Likewise, the responsibility for adding resources stays hidden in the target phar. Additionally, the PharComposer only needs to translate a package into a bundle, but doesn't need to know that actually bundlers are involved.
fix test: bounded  in closures  only available with PHP > 5.4, but need compatibility with 5.3
Merge pull request #25 from mikey179/bundler-decoupling

merge bundler decoupling
ignore netbeans project files
move contains logic into Bundle to hide implementation details from unit tests, as discussed in #25
make Bundle iterable to hide implementation details, as discussed in #25