Add String.to_integer/1 and String.to_float/1

Given a string that starts with a valid integer, String.to_integer/1
returns a tuple {result, remainder} where remainder is the character
string following the valid integer. If the input is not valid as
specified by Erlang's :string.to_integer/1, the function returns
:error.

Given a string that starts with a valid float, String.to_float/1
returns a tuple {result, remainder} where remainder is the character
string following the valid float. If the input is not valid as
specified by Erlang's :string.to_float/1, the function then calls
String.to_integer/1 and returns that value, which is either an
{integer result, remainder} or :error.

This latter behavior allows you to say String.to_float("34")
without generating an error.
Make String.to_float always return a float

Added code to make String.to_float("34") return {34.0, ""}
Add tests for String.to_integer and String.to_float
Implement capture_io for ex_unit
Propagate dependencies in mix tasks

Closes #1036
Merge pull request #1068 from ericmj/mix-propagate-deps

Propagate dependencies in mix tasks
Merge pull request #1059 from mururu/io_protocol

Implement capture_io for ex_unit
Ensure no group_leader leakage on capture_io and remove stderr test which was printing on run
Remove unused variable
Also allow explicitly capturing of stdio and stderr
Improvements to contributing guide
Add some sample pull requests
Use level two headings when appripriate
Move List.Dict to ListDict
Update CHANGELOG
Implementation of Dict.pop (proposal #856 for Dict)
Optimize HashDict.pop
Ignore files in umbrella apps directory

Closes #1071
Merge pull request #1072 from ericmj/mix-umbrella-dirfile

Ignore files in umbrella apps directory
Merge pull request #1044 from jdeisenberg/string_to_int_float

String.to_integer and String.to_float