More work with variadic templates on functions.

1. Methods are registered using VarMethod, which utilizes Variadic Templates to store its information and forward function calls.
2. Overloads added to method base-types to allow Call and CanCall to be called with the arguments directly, and forward the arguments to the non-templated methods.

- Renamed TypedInfo to TypeBuilder (makes it more clear what it does)
- Added TypeHolder for void type.
- More documentation, and notes on good places to log errors.
- Added GetBases, GetMembers, and GetMethods to TypeInfo.
- Added GetNameStr() to make it convenient to get a std::string when needed.
- Got rid of argc from DoCall (not used thanks to sizeof...(Args) from variadic templates).