Change README to text rather than markdown.

Github automatically made it markdown,
but text is more universal (for submission
via email).
Remove markdown formatting from Readme.
Add local ignore file.

Only entries are the .ycm_extra_conf.py,
and its associated .pyc file,
file for the YouCompleteMe vim plugin.
Add include directory, with placeholder file.

The placeholder file is an exhaustive
knight search program, but there is currently
no code in it, only a comment.
Remove YCM conf file from ignore file.

My global ignore file has that already,
so no need to clutter the local ignore file with it.
Add line of asterices at end of comment.
Create Makefile, setup for unit-testing.
Add Keypad class.

This class holds the allowed moves and vowel values
for the keypad.
Add test executables to local ignore file.
Add explanation to knight_exhaustive.

Add parameter and return value comments
to top of file.
Add SECONDARY label to object files in Makefile.

This way, make won't automatically remove them after
a build.
Add both project files to 'all' make target.
FIX: Refer to 'GetMoves' in file description.

The comment at the top of keypad.hpp was incorrect,
in referring to 'FindMoves'.
The name of the method is 'GetMoves'.
Use a typedef in the Keypad class for a Key type.

Just in case I want to change the representation
of keys away from chars.
Add include/boost dir to git ignore file.

Using a local copy of the Boost libraries,
so I don't want them copied into the repo.
Remove the Keypad::Enumerate method.

Instead, a Keypad::start sigil is supplied,
which when given to the Keypad::GetMoves method
will return all the keys on the keypad.

This allows a unified interface to getting the next moves
from a given key, including when we're starting
(and thus want all the keys).
Implement exhaustive search.

Uses a recursive procedure to exhaustively
enumerate all the possible paths across
the keypad.
FIX: Update keypad_test to not use Enumerate.

After getting rid of Keypad::Enumerate,
I never updated the test of that method.
FIX: Test object files should depend on project headers.

Rather than the test executable depending on the project,
the object files should.
FIX: Exhaustive solution is overcounting.

After checking if the next key is a vowel,
the solution should proceed only if the vowel count is less than 2.
The previous code checked IsVowel && vowel_count < 2, simultaneously;
then, with the else it went ahead.
Thus, if the next key is a vowel and vowel_count >= 2,
the solution would still continue.
So, basically, we weren't excluding 2-vowel strings at all.