Add initial Unit-Test Examples

My current main goal for the project is to create units tests
for all existing object interfaces.  This commit adds use of the
'check' C unit test framework to the board_t struct.

In the course of adding these tests, I realized it would be useful
to start using GNU Autotools for managing my build system (adding
tests for each C object will double the compilation units, and
introduce dependencies between them).  For this reason, I abandoned
the Makefile portion of this commit until I integrate Autoconf/make
into the project.
Merge branch 'master' into unit_tests
Update autotool scripts to build model/board.c unit tests
Add unit tests retroactively for board.c's board_init*
Add piece_equal function to compare piece_t*'s

In the course of adding unit tests for the exisiting board_copy
functions, I realized I hadn't written 'equal' functions for
any of my existing model structs.  The first of these that I needed
was a piece_equal function to check that the pieces were copied
correctly in board_deep_copy.

So this commit adds the piece_equal method, and accompanying unit
tests in units/piece.c.  I noticed that one of these tests was
failing.  After some investigation I noticed that I wasn't initializing
the rank or file field of new pieces and that this was causing the
piece_equal function to return false.

Since I didn't want to commit failing unit tests, this commit also
modifies the piece_init* functions to take rank and file as arguments.
Tell git to ignore autotools files and named executables
Add unit-tests for board_copy_deep

This commit adds the units tests mentioned above.  In addition, it also
adds a fix on the error return value from board_copy_deep that was flushed
out using the unit tests.
Rename 'residentPiece' field to 'piece' in piece_t

The 'residentPiece' struct field name was bad for two reasons.
  1) It broke the coding standard by using camel case rather than
    underscore_case
  2) The word 'resident' really added no value to the term, and cluttered
    up lines.

This commit refactors the code by renaming the field to just 'piece'.
Rename 'theBoard' field to 'spaces' to board_t

The 'theBoard' struct field name was bad for two reasons.
 1) It broke the coding standard by using camel case rather than
   underscore_case
 2) The phrase theBoard is redundant and confusing, considering that its
   a field name in a board_t struct.  If that field is the board, what's
   the rest of the struct?

This commit refactors the code by renaming the field to just 'spaces',
since the array field represents the different spaces on the board.
Rename board_t's curMove field to moves_next

This is the third in a series of commits that rename
struct fields to use the underscore_case enforced by the
Coding Standards for this project.
Added resource cleanup to board_copy_deep unit tests
Remove test-stubs for board_destroy

Initially, I was planning on testing the behavior or board_destroy.  The
main behavior I wanted to unit test was the notion that board_destroy NULL-
ifies allocated field pointers once the resources they point at have been
cleaned up.

However, to check this, I'd have to access invalid memory to see if the
pointers were set to NULL.  Obviously not an option.  So the stub functions
for the Board_Destroy test suite were removed in this commit.
Set square_t* to NULL after destroying square_t

The board_destroy function cleans up each square individually.  In order to
prevent other modules from inadvertently using the destroyed struct, this
commit sets each square_t pointer to NULL.

While this doesnt _prevent_ other code from trying to access the destroyed
square_t's, it will make the problem easier to detect by immediately
causing a segfault.
Remove unused variable
Add board_equal and square_equal functions

This commit adds the board_equal and square_equal functions,
which allow boards and individual squares to be compared.
Add file_utils_exists util function

This commit adds the file_utils_exists function, a short wrapper
around a check to determine whether a given C string containing
a filename matches a file on the host filesystem.

Since this was the first general-purpose util function written for
the jegChess project, this commit also adds a little infrastructure
for creating util libraries.  This includes the added utils/ directory,
as well as altering the existing configure.ac and src/Makefile.am files
Integrate libutils into libmodel and jegChess build

Though the previous commit adds the libutils.a library, it doesn't
link the library in with any other code.

This commit makes the libutils.a code visible to the libmodel.a library
and the jegChess packaged executable.
Write board_save_to_file unit tests

This commit adds the board_save_to_file unit tests, as well as
addressing a handful of bugs found in the save_board code.
Update gitignore and cleanup script to ignore/remove unit tests executables
Clean unwanted files from repository.

This commit removes 2 files from the repo:
  file-utils: this unit test binary was added accidentally.
  configure: the configure script (generated by autoreconf) shouldn't
    be in the repo since it can be generated from Makefile.am files.