More matching code to documentation spcecs.
Refactored some internal methods to clean up some ugly code.
Ensure the ServiceProvider::instanceCache is initialized to an array.
New documentation.
Added the site folder to .gitignore.
Adding some structure to the documentation.