Update README to reflect Day2 development version
Implement pp6calculator Day 2 Exercise 1 solution

Implement new swap function for swapping values of two double variables.
Provide an operation in the menu to perform a swap, and add the call
to the swap function in the conditional block for operations taking
two numbers.

Report the values of the variables before and after the call two swap.
As this means swap does not have a result, exclude the operation from
having output reported at the end of the while block for the
operations.
Implement pp6calculator Day 2 Exercise 2 solution

Refactor math functions to return integer result codes, with
by-reference arguments in which to store the results.

Update menu while operations to call math functions with result
placeholders and get result code. Print an error message if an
operation returns a non-zero error code, with information on the
operator and value of the error code. If the operation is successful,
print the result(s) as before.

Error codes are not standardized, though we try to use different
positive integers within each function to indicate different forms of
error, e.g. divide-by-zero vs no real roots.
Implement pp6calculator Day 2 Exercise 3 solution

Add basic_sort function taking pointer to array and its size, sorting
array in-place using bubble sort algorithm.

Add operation to main menu for sorting an array input by user. Allow
user to select array size, ensuring that input size is greater than 0
and less than a hard coded number, in this case 10. Use dynamic array
to store elements, array only living whilst operation is performed.

Query user for each element in turn, adding them to the array as we go.
Implement a printArray function to output elements in nice comma
separated format. Use this function to report array contents before
sorting, then sort array and use printArray to report the sorted
contents.

Filter out the new operation from result reporting at the end of the
menu loop as it reports its results in place.
Implement pp6calculator Day 2 Exercise 4 solution

Provide declarations for all functions at start of program, moving
function definitions to after main().
Implement pp6calculator Day 2 Exercise 5 solution

Move function declarations into dedicated header file, leaving
definitions in main for now. This is less than ideal, but provides a
useful point at which to make a commit before moving forward with
modularization.
Implement pp6calculator Day 2 Exercise 6 solution

Move function definitions into PP6Math header, adding include guards
to prevent more than one definition of the functions.
Implement pp6calculator Day 2 Exercise 7 solution

Create new PP6Math.cpp source file to hold math function definitions,
moving them verbatim from PP6Math.hpp into the new file. Include
needed Standard Library headers in the source file.

Update build instructions in the README to reflect need to compile
this file along with the main application.
Implement pp6calculator Day 2 Exercise 8 solution

Move PP6Math code into dedicated directory for implementation source
code. Update README to describe need to add this directory as an
include path when compiling the application.
Implement pp6calculator Day 2 Exercise 9 solution

Add skeleton CMake build script and provide basic setup of CMake and
project. Do not perform any build just yet as this is purely to
demonstrate the basic behaviour of CMake for developers.
Implement pp6calculator Day 2 Exercise 10 solution

Add CMake build of pp6calculator executable from main source and PP6Lib
sources. Update README with steps needed to build application using the
CMake system, and add CMake 2.8 or higher as a requirement.
Implement pp6calculator Day 2 Exercise 11 solution

Factor build into an implementation math library (static) and main
executable. Link the library to the main executable.
Implement pp6calculator Day 2 Exercise 12 solution

Add dedicated CMake script for pp6lib in its subdirectory, making
top level CMake script recurse into this subdirectory. Force library to
be built in static mode because it is a private library of the
application.
Implement pp6calculator Day 2 Exercise 13 solution

Set CMAKE_CXX_FLAGS when using the GNU compiler to a standard set for
strict error checking and ISO C++98 compliance. These flags will be
applied to all build modes.
Implement pp6calculator Day 2 Exercise 14 solution

Add install command for pp6calculator, installing it to the bin
subdirectory of CMAKE_INSTALL_PREFIX. Include the CPack module to
enable packaging of sources and binary.