Added satis

- Added composer/satis to build system, for generating composer repository
- Setup a satis "build file", `satis.json`, which contains our repository
  information
- Usage: `php bin/satis build satis.json ../../public/`
- Tested; it works. Downloads zip files for each package locally, generates a
  `packages.json`, and creates an `index.html` page
- TODO:
  - Rewrite Pyrus build process to:
    - depend on having a composer package for the given version
    - use the composer package for the given version in order to create the
      pyrus artifacts
  - Create Makefile
    - ensure satis has all deps (i.e. that `build/zf2/vendor` is not empty)
    - run satis with given options
    - replace `public/index.html` with our own information (?) (or merge the
      satis-generated `index.html` with ours)
    - build pyrus packages (per above)
    - build ZF2 dist packages
      - use composer package as base
      - build and release documentation packages
      - build and release apidoc packages
Began ZF2 build system

- Added TODO file to cover all steps needed
- Created Makefile with two targets
  - `composer-vendor`: ensure we have satis dependencies in place
  - `composer`: run satis to build packages
- Added `composer.phar` to build system (required for `composer-vendor` target)
Created `zf2-dist` and `zf2-release` targets

- First creates zip and tarballs based on composer zipball
- Second releases them to the public directory
- `bin/zf2-tarball-version.php` checks if a package for the provided
  version exists, and, if so, returns the path to the package
- `clean` target removes files from `exports` and `stage` directories
Converted to make conditionals

- Using `ifeq`/`ifneq` and `$(wildcard)` to test for files; makes logic
  easier to read, as well as write
Created `zf2-apidoc` target

- `zf2-apidoc` target builds API documentation and packages it
- Renamed `zf2-dist` to `zf2-archives`
- Created `zf2` target, which calls `zf2-archives`, `zf2-apidoc`, and
  `zf2-release`
- Updated `zf2-release` to ensure all release and apidoc
  tarballs/zipballs are released
Added `zf2-manual` target

- Builds and packages ZF2 user manual
- Has several dependencies, including targets for downloading and
  exporting the manual
- Added `zf2-docs` target, which incorporates `zf2-apidoc` and
  `zf2-manual`
- Updated `zf2` target to use `zf2-docs` instead of `zf2-apidoc`
Updated TODO
Minor refactoring

- Renamed `bin/zf2-tarball-version.php` to
  `bin/package-version-path.php`, and altered it to accept a new first
  argument, the package name; allows finding arbitrary zip files based
  on package and version.
- Added variables for COMPONENTS and SERVICES, with defaults
- Moved all phar files into `bin/` and updated `Makefile` accordingly
- Added configuration for PYRUS and PYRUS_CHANNEL
- Added target `pyrus-verify` to ensure that our `pyrus` build knows
  about our channel.
Working Pyrus package creation!

- Created `define` section in Makefile that defines a virtual target for
  all components (note: not services, yet)
  - Ensures Pyrus lists the channel
  - Generates the Pyrus stub package
  - Stages and prepares package files
  - Makes and builds Pyrus package
- TODO
  - Service packages
  - Pyrus release
Working `zf2-pyrus` target

- Creates Zend_Framework metapackage for Pyrus
- Moved common functions to a separate file
- copied metapackage templates from original build system
Replaced all `@if` statements

- with `ifeq`/`ifneq`
Created `pyrus-release` target

- Releases any pyrus phar files found
Updated TODO
Working Pyrus package creation for service components

- Similar routine to component package, with modifications as these use
  different source exports
Documentation

- Updated TODO
- Wrote documentation in new README file
- Moved old README file to `README-SATIS.md`
- Added `release` and `pyrus` targets
Completed code-based make targets

- Added `zftool.phar` and `zftool.phar-release` targets for building and
  releasing ZFTool.
- Added `all` target; alias for `composer`.
- Documented the above.
Created code for updating homepage following Satis invocation

- Template `index.template.html` defines the basic layout
- `bin/composer-homepage.php` takes the Satis-generated homepage,
  extracts the package information, and injects it into the template.
- The template contents then overwrite the Satis-generated homepage.
Updated TODO
`composer` target ensures version on homepage is latest

- Modified `bin/composer-homepage.php` to determine latest PHP version
  and use it to fill in version numbers of source and documentation
  packages, as well as minor version numbers for links to documentation.
Updated to new build system

- Replaced original Composer packages with those generated by Satis
- Removed old build scripts and packaging directories
- Replaced home page
- Updated zftool.phar