Merge pull request #14 from nevar/embed_pool

Added the ability to embed a pool to another supervisor
Clarify take_group_member/1 behavior in README
added pooler:rm_group/1 function
added pooler:rm_group/1 test for empty group
fix bad test for pooler:rm_group/1
rm_group/1 returns pool names of pools that failed to terminate
fix bad spec for pooler:rm_group/1
Merge remote-tracking branch 'TanYewWei/issue-16'

* Fix trailing whitespace
Set nowarn_deprecated_type erl_opt for R17 compat

R17 deprecates built-in type spec for dict() in favor of
dict:dict(). However, the latter is not available in R16 and below and
is a compile time error. Ignoring the warning isn't great, but allows
the code to compile clean on R16 and R17.

Also updating the list of supported/tested Erlang versions in the travis
yaml.
Better way of handling deprecations
Add older versions of erlang back in, we have to remove 17.0rc1 because it handles depcrecations different than 17.0, which makes life difficult
Update to modernize build a little bit
Merge pull request #22 from jwilberding/master

Updates for better building
Add the possibility of calling the Exometer API for the metrics instead of the Folsom one

* It is still possible to define the callback module. It will expect either the Folsom or the Exometer callbacks depending on the configuration parameter.
Use concrete for standard Makefile goodness
Fix bug when a member is returned more than once

In the event that the same member pid was returned multiple times -- in
essence "double freed" -- the pool accounting became corrupted.

When handling returns, we now ignore members that are already in the
free state and log a warning message since this is very likely to be an
indication of a problem in the calling code. Members should only be
free'd once.
Enhance test coverage for stale member culling
update demo quick start
pooler_starter should cleanup slow process starts

Pooler/_starter previously had a bug where if a started process took longer
than the start_member_timeout but did not crash, the process would get
orphaned. This fix includes modifications to the starter that change its
lifecycle. The starter will now wait to be stopped by the pooler gen_server via
either the stop_member_async or stop apis. The stop_member_async api is called
on the error path and the stop api is called on the success path.

Additionally, pooler gen_server bookkeeping is fixed to correctly update the
pool state with regard to starting members. Previously, pool record was not
updated with the starting members list returned from the non_stale filter.
Merge pull request #31 from oferrigni/of/kill_stale_started_members

Of/kill stale started members