Persisting constants only if flag is set.
Basic forced autoloading for maglev_persistables.

Currently works only for one autoload per module.
Calls to autoload are cached, so that persistent associations can be created during
the call to maglev_persistable.
Corrected indentation in RubyAutoloadAssociation.class/instance/_assocFor.inClass.env.error..st
by always using spaces and no tabs.
Turned autoload cache into a list, so multiple autoloads can happen in module.
Fixed __validate_stdin_value to use ducktyping to allow assignment of StringIO.
Fixed Kernel#gets to use $stdin, not STDIN.

STDIN should only be used to hold onto the original. Nothing more.
Autoloads are automatically reloaded when called maglev_persistable is called.
Removed unecessary check of persistence mode in Module#removeConstant.

This is checked twice, because it is checked again in the line
'rns removeConst: aSymbol'. See implementation of removeConst: in RubyNameSpace
and RubyTransientNameSpace.
Commented out missing maglev_persistable(true) constants check.
Merge pull request #299 from zenspider/fix_stdin_and_gets

Fixed $stdin = StringIO.new and Kernel#puts not using $stdin.
Added method Module#module_parent.
Merge branch 'master-1.9' into stefan/reautoloading-existing-modules-v2
Merge branch 'master-1.9' into stefan/reautoloading-existing-modules-v2
refactoring: new method for persisting autoload cache
refactored: calling _persistAutoloadCache once at the end of _setPersistable method
refactoring: added new method _persistClassMethods
refactored: added new method for persisting included modules
Added tests for autoloading persistence.
refactored: new method for persisting singleton classes in _setPersistable. added newlines at the end of the files
Merge branch 'stefan/reautoloading-existing-modules-v2' of github.com:MagLev/maglev into stefan/reautoloading-existing-modules-v2
Merge branch 'stefan/reautoloading-existing-modules-v2' of github.com:MagLev/maglev into stefan/reautoloading-existing-modules-v2