Renames for lua_function's internal types and some early-caught fixes for using the right type for the member of the function
Preparation for dumping whole classes into lua... it's going to be fairly tough making this one work.
Deprecation mechanism, improvements to lua_function's classes, and demangling for MSVC and gcc/clang
Demangler is alive, it seems. But honestly, MSVC is kind of crappy about it: perhaps, later, we'll just take a string indicating the name of the class.
main.cpp contains the test implementation for the lua classes -- woo!
userdata<T> now works and compiles on MSVC.
It's going to take serious work to make it happen in GCC, plus the fact that 4.9 is still giving me
so many errors I can't even read it...
 I'll let Rapptz figure it out, but later.
Sexy class bindings, yes!
Renamed DEPRECATE to SOL_DEPRECATED
Refactor demangle.hpp to look a bit nicer
Renamed many parts of `lua_function.hpp` to make more sense.
Added pop() function to `reference`
`stack.hpp` now has many more functions to properly handle user data
`types.hpp` now has `userdata_t` and `lightuserdata_t` to faciliate `stack`'s `pop` and `push` operations
Class binding functionality built into `table` and `state`, as well as placed in `userdata` class in `userdata.hpp`
demangling detail now present for clang, gcc, and MSVC (somewhat for MSVC)
Constructor arity still needs to be handled for `userdata<T>`
tests updated and passing
Do some renaming of lua_function.hpp and fix some compiler errors
Fix all compile errors on GCC
Merge remote-tracking branch 'root/classes'

Conflicts:
	sol/demangle.hpp
	sol/deprecate.hpp
	sol/lua_function.hpp
	sol/userdata.hpp
Format changes on tests
Moved pop from reference to table
Massive renaming of lua_function.hpp
Custom constructors, but apparently there's something on the stack and we can't get at its type?
Merge remote-tracking branch 'root/classes'
Class binding now works with multiple functions
Refactoring on function_types.hpp performed to slim down some of the calls: could use more refactoring
Drastically simplified userdata's binding capabilities: constructor supports both `:` and `.` syntax (but member functions DO NOT).
All tests are passing
Fixed some bad spacing.