Implemented Template Method

-In the draw method of each shape, it now creates a draw(shapename)
object, which is a template method object
-this gets rid of the duplicated code that was in the draw methods for
the shapes
-also fixed the rectangle drawing bug
basic saving done, working on loading now
forgot to mention that i didnt check if saving worked with redo/undo yet. will check soon
fixed a small bug where a circle must be on the drawpanel before saving to a file. checked undo and redo: both works fine
selecting works but is very basic right now
Merge pull request #15 from andeic/shapeSelection

Basic Shape Selection
fixed merge conflicts
Grouping and Ungrouping Working

-changed the pointset within basic shape to be an arraylist
-changed selecting so when you select shapes after you've already
selected some, it unselects the others
-you can group shapes, it will add a group to the arraylist and remove
the selected shapes
-you can ungroup shapes, it will remove the group from the arraylist and
add the shapes within the group
Merge pull request #20 from andeic/groups

Grouping and Ungrouping Working
fix merge
 changed format of files and did basic outline of load. will finish file handling by tomorrow
loading and saving works. cannot undo a load yet. also, after loading you can still redo, will have to fix that up. will have to find a way to also store history
fixed a small bug where the loading of a file would sometimes be able to undo the last shape that was inputted. reread my code and it says load will not be implemented
Merge branch 'FileCommands' into commandImplementations
changed save/load to implement JFileChooser and have a .nap extension
Merge branch 'FileCommands' into commandImplementations
Merge pull request #22 from nbguzman/commandImplementations

Command implementations