Refactored RetailSystemView into an interface.

System views will now implement the RetailSystemView interface. The
RetailSystemController has been updated to allow for multiple
RetailSystemViews. Added an implementation of RetailSystemView called
RetailSystemBasicView, providing a basic text-based interface for the
retail system.