add section on logical functions

Explain various functions that return true/false arrays.
Merge branch 'numpy2' of https://github.com/ayr0/numerical_computing into numpy
Polynomial problem for the second NumPy lab.
add hill cipher problem.

This problem may seem long, but it is mostly the explanation.
The actual problem is not very difficult.
Merge branch 'develop' into numpy2
Merge pull request #7 from insertinterestingnamehere/numpy

Numpy
finish Hill cipher problem

Included are solutions.  They are uncommented for now, but should be
pretty readable.
remove unneeded line in first lab.
Merge pull request #307 from ayr0/numpy2

edits to NumPy continuation lab
Merge branch 'develop' into student_edits
A couple of student edits.