Plugin API Cleaned Up

* Added .gitignore files
* Cleaned Up Base API Interface & Added Exceptions
* Created Inherited API Interface & Extended Functionality for Cleaner And Simpler Plugins