Completed GA functionality and tests

Completed all basic GA funcationality, and implemented basic tests to cover all
code.
Setup default functions for genetic operators

Setup default functions for selection, crossover, and mutate.
These default operators work on and assume a bit array candidate solution
representation (e.g. [1, 0, 0, 1, 1]).
Reduced GA population and generation size in tests

Reduced the GA population size and number of generations in the test setup to
reduce the time the test runs take.
Some code refactoring

* Changed the implementation of best_individual. You no longer need to pass it
an argument.
* Modified a number of tests and added some more to cover all code. Need tests
to be reasonable tests that cover all functionality.
Added coveralls.io support for coverage monitoring

Added support for an additional service, coveralls.io, to continuously monitor
test case coverage.