SHL-91, SHL-92, SHL-93

Code changes to support SHL 91, 92, 93.

Updated the Abstract Shell test to be a tad more meaningful.

I was unable to get the grade build environment to work so the changes are only slightly tested.  I'd be glad to continue testing the changes if someone can fix the directions on how to build the project (the directions aren't working for me.)