Restructure InputOutput interface to fit the Vault usage
As a result, File and Session now use InputOutput class to extend 
from it. The usage is just the same, but it now holds a __vault
config item.
Toolbox gets the default contents of parents and unloaded classes too
This helps with the class extending, as well as to prepare for the next
big update.
Builder uses getWholeDefault from Toolbox when getting the default
To avoid adding extra vars to the owns default properties, addDefault
no longer uses self::getDefault, and moves to the toolbox's one.