Finalized program takes row and column input and generates a matrix of
that size. If the rows are greater than max_rows, an error is thrown. If
the columns are greater than max_columns, an error is thrown. If the
total size of the matrix (# of elements) is greater than max_values, an
error is thrown. The system generates a unique error message for each of
these errors. Upon receiving an error message, the user has the opportunity
to try to enter the information again (recursive). If the user inputs the
information successfully and correctly, the size of the matrix is printed
to the console.