Merge pull request #29 from chadicus/master

Add Arrays::extract()
Add String::ellipsize method.

This method is used for trimming a human-readable string to a given
character count.  An ellipsis is used when the string is too long.

This gives a hard limit on the length of the result so that you don't
have to worry about the string being longer with the ellipsis added.
This can be useful if the string is being truncated for insertion into a
database or anywhere where the EXACT length limit needs to be enforced.
Add String::ucwords to title-case strings on custom delimiters.

PHP's ucwords, while useful, does not allow you to customize the word
delimiters.  This method adds that useful functionality for when you
want to treat things like `-` as a word delimiter.

The default list of delimiters may change, but it seems to be a useful
set of characters.
Merge pull request #27 from nubs/master

Added in ucwords and ellipsize methods with tests.
Make buildQueryString() treat true/false values as the strings "true"/"false"
Merge pull request #30 from gaillard/master

Make buildQueryString() treat true/false values as the strings "true"/"false"
Urlencode parameter names.

Parameter names need to be urlencoded as well or else they could make
things fail.
Merge pull request #31 from nubs/urlencode-parameters

Urlencode parameter names.
Use PHPUnit_TextUI_Command() rather than passthru('phpunit').

Executing PHPUnit programatically definitely has its benefits.  There's
less chance of messing up shell encoding, more programatic access to
things, and less of a requirement on finding the correct phpunit binary.
Build the TestRunner ourselves.

Building the testrunner ourselves gives us access to the result object
rather than just the response code.  This enables us to access more
details about the response directly without having to resort to other
means.
Access code coverage report directly rather than via clover.xml.

This removes our libxml dependency and gives us more meaningful access
to coverage numbers (we can see exactly what we are comparing).
Merge pull request #32 from nubs/phpunit-as-a-library

Access PHPUnit as a library for gathering report
Configure strict testing via phpunit.xml.

This `strict="true"` option sets the `reportUselessTests`,
`strictCoverage`, `disallowTestOutput`, `enforceTimeLimit`, and
`disallowTodoAnnotatedTests` options when run through the configuration
parser.  It will also add other new strict options as phpunit upstream
adds them.
Merge pull request #33 from nubs/master

Configure strict testing via phpunit.xml.
Ignore tests in scrutinizer analyzers.
Use shields.io flat svg badges.
Use the full path to code coverage.
Remove clover.xml from gitignore.
Use phpcs as a library.
Remove --dev from composer install.

--dev is the default.