PHP-1142: Support upserted ids in WriteResult

Renamed getGeneratedIdsForUpsert() to getUpsertedIds().
PHP-1142: Dump WriteResult object in write tests
Use correct return types for WriteResult-related init functions

We never check whether WriteResult init succeeds, which is fine as it sets whatever it can on the corresponding object. For the error inits, we actually do care if they succeed or fail so that we can free up the zvals; however, the return types should be booleans.
Merge pull request #16
Merge branch 'dry-run'
PHP-1230: Clean up WriteResult property storage on WriteException
Merge pull request #19 from bjori/php1230-take-two

PHP-1230: Clean up WriteResult property storage on WriteException
Remove unused class properties in WriteConcern
PHP-1173: Use string "majority" for WriteConcern::MAJORITY

The purpose is two-fold: abstract libmongo'c constant (defined as -3) from our users and ensure the string "majority" is sets the struct's "w" field properly even if our constant is not used.
Merge pull request #20
Clean up hex_dump() source and add citation
Use preg_replace() for generating collection name from test file

This builds on what already existed in the current driver and adds the ".skip" removal. It also replaces hyphens with underscores to ensure that the collection is easy to access from the shell.
Use "phongo_test" as default test database
Use require_once in skip test includes
Use Faker to create user data fixtures
Functional tests for sorted queries
PHP-1180: Create make target to install Composer dependencies (for tests)

Due to how the Makefile is generated, it's non-trivial to add the "composer" target as a dependency of "test". As a compromise, we'll skip tests which require unavailable dependencies.
Merge pull request #18 from bjori/php1236-test-fixtures

PHP-1236: Add data fixtures to test suite
Rewrite README and document install/test process
Fixed build for OSX and llvm