more doc strings, object input checks, added a sphericalreflection surface class as part of the option, and added a test suite file to test planoconvex lens configurations and lens optimising