Started new Position branch to work on Position class.
Added (mostly empty) source file for main.
Finished work on Position class.
Merge branch 'position' into master.
Worked on Square class.

- Added constant 'puzzle_size' to class.
- Added all constructors.
- Added setValue() mutator.
- Added all inspectors, however getValue() is not complete yet, as an
  exception class is needed.
- Added operator=().
- Added static method validatePosition() to check if rows and cols
  given to constructors are valid.
Added to Square class.

- getValue() now throws a std::logic_error if it is called on a square
  that has not been set.
- Added restrictValues()
Altered .gitignore so build directory is ignored.
Fixed bugs in Square class.

- Fixed default constructor not calling an extant std::set constructor.
- Changed puzzle_size to be static.
- Fixed static linkage problem with validatePosition.