Merge pull request #144 from mgage/master_IO_fix

Fix 'fileFromPath not defined or not exported'  error
Fixing read_whole_problem_file bug

-  We fixed a couple of cyclic use calls in IO.pm
-  We moved not_null and pretty_print from PGcore into PGUtil and made
   a bunch of other changes to accomidate that
Fixed PGcore/not_null ref in AnswerHash
Changed fileFromPath back to standard importer stuff
Changed share to share_from with safe compartments.
revert unintended change
IMplementing MIkes fixes.
Further polish on pretty_print
fixed bug with vertical lines between columns
Reduce sets when they are added.  Fixes a problem reported on the forum.
Merge pull request #158 from Alex-Jordan/pccTables

fixed bug with vertical lines between columns

Both changes were check and are fine.
I had forgotten to change this line when I changed it from pccTables to niceTables
Merge pull request #160 from Alex-Jordan/niceTablesPatch

I had forgotten to change this line when I changed it from pccTables to ...
Merge pull request #159 from dpvc/patch-sets

Reduce sets when they are added.  Fixes a problem reported on the forum.
Have set addition produce an actual union, so it is controlled by the reduceUnions flag.
Merge pull request #161 from dpvc/patch-sets

Have set addition produce an actual union, so it is controlled by the reduceUnions flag.

I've tested these changes and they look fine.  Thanks for running this down.
Fixed bug where parserRadioButtons wasn't printing itemize enviornment in hardcopy.
Merge pull request #162 from goehle/radiobug

Radio Button Hardcopy Bug
changed how beginproblem() prints file path to use \path
Fix wrong name in documentation for compoundProblem5.pl
fixed bug with niceTables.pl
Allow Set() to coerce a union of sets to a single set