Add an available feature field to all components and related changes.

* Pkg.t is now a proper data structure (rather than just a string).
* Assemblage.pkg combinator can now specify a package as being
  optional. A feature is then automatically created for it (see
  dicussion in issue #31).
Remove earlier whitespace poops introduced by a dirty commiter.
Remove Assemblage.Features.{of_pkg,of_pkg_pp}.

Superseded by ~opt argument of Assemblage.{pkg,pkg_pp}, see soliloquy
in issue #31.
Merge pull request #44 from dbuenzli/available-for-every-component

Available for every component