Provide initial MethodData module.

Only supports overwritten methods at the moment.
Update lib/core.rb.
Add alias support to SES::MethodData.
Fix minor aliasing oversight.
Prepare for YARD documentation.
Make YARD options more explicit.
Add explicit LICENSE file.
Update script header information.
Split long lines in LICENSE.
Remove test for deprecated SES::Register.enter feature.

Previously, the SES::Register would allow entering an undefined script when given no arguments. This feature has been deprecated; an SES::Script instance is now required as the argument.
Reorganize script structure.

Aliases defined in the SES Core are now appropriately registered in the SES::MethodData.aliases hash.
Ignore stub aliases in SES::MethodData.register_alias.

Also make note of undesired behavior when defining an alias within a singleton class.
Implement unit tests for new features.
Split test suite into multiple files.

The single file was convenient for users, but difficult to navigate for developers.
Provide README.md file for unit tests.
Provide note about aliases defined in singleton classes.

This was previously considered undesired behavior, but actually accurately reflects aliasing -- as such, the behavior is expected and simply needs explanation.
Remove nil return value of #overwrites.

The method documentation explains the void return value, no need to explicitly provide a nil value.