RED - Test con at 5,5 without neighbors dies after 1 day

Tests are a great way to sketch out the interface¹ for the behavior of our
code. This test implies our interface will be:
* A class named GameOfLife
  * Created with a population (represented by an Array) of Cons (represented by
    Hashes)
  * Instances of GameOfLife
    * Have a method `run` which takes a number of days to pass.
    * Have a method `population` which takes no arguments and returns the
      current population
* The population responds to `include?` with a Con hash

At this point, none of the code exists! So our first message tells us which
part of the interface to define.

Expected Result of `bundle exec ruby test/all.rb`
=================================================
> Run options: --seed 26371
>
> # Running:
>
> E
>
> Finished in 0.001821s, 549.1488 runs/s, 0.0000 assertions/s.
>
>   1) Error:
> TestGameOfLife#test_a_con_at_5_5_with_no_neighbors_dies_after_one_day:
> NameError: uninitialized constant TestGameOfLife::GameOfLife
>     test/all.rb:7:in `test_a_con_at_5_5_with_no_neighbors_dies_after_one_day'
>
> 1 runs, 0 assertions, 0 failures, 1 errors, 0 skips

The line "NameError: uninitialized constant TestGameOfLife::GameOfLife" tells
us that we have not yet defined a class named `GameOfLife` that is accessible
to the `TestGameOfLife` class.

Our next step will be to define a GameOfLife class!

New Syntax
==========

= - Assign a value (on the right) to a name (on the left)

{ :key => "value" } - Denotes a Hash. Hashes are pairs of keys and values. Keys
                      can be any data², but are most frequently Symbols or
                      Strings.

=> - Known as the "HashRocket". Assigns a value (on the right) to a key (on the left) within a hash.

:word - Denotes a Symbol. Symbols are useful for keys in hashes.

[:thing_a, :thing_b] - Denotes an Array. Arrays are ordered lists of data.
                       Arrays can hold any kind of data, in this case it holds
                       two symbols: :thing_a and :thing_b

GameOfLife.new(population) - Calls the `new` method *on* the GameOfLife class
                             *with* the data in population. Returns an instance
                             of GameOfLife.

object.method(:data) - Call the method (to the right) *on* the object (to the
                       left) *with* some data, in this case the symbol :data

refute(truthy_value, "Truthy!") - Fails a test if the first argument is
                                  truthy. Displays the second message as the
                                  reason for test failure.

"Here's some data: #{some_data}" - #{...} within a String allows us to insert
                                   data into the string.

Definitions
===========
¹ Interface - http://glossary.codeunion.io/interface/
² Data - http://glossary.codeunion.io/data/