Squashed 'libs/sol/' changes from a4a4d21..8db6783

8db6783 Add test cases for operator[]
af0097f Add support for setting functions with operator[]
7cc8c93 Move type traits to its own header and clean up code using the traits
5eeaede Basic operator[] support for tables
d44a215 Remove trivial destructors from lua_func types
ffb32f4 Renamed sol.scratch.cpp to tests.cpp
5e83795 Update README
9f36db8 Rename script_file to open_file
c241a3d Remove redundant check for narr and nrec variables in create_table
fdf145e Minor stylistic changes to be consistent
61e49d9 Merge pull request #6 from ThePhD/master
a593207 We apparently need to link in `dl` (`dladdr`) manually.
2b4f9cc Meh, who needs "eval". It's technically right, but I think evaluate might be for shorter lines and stuff... who knows.
0da6ff4 Test cases for tables and the opening of libraries.
e9d90d6 Well, -llua5.2. At least it's more explicit.
9204a01 Checking once more if we need additional library paths...
029bd91 Weeee, = instead of -!
b77fd29 ~Installed~
e6a9688 If this works, Ninja is stupid.
459bbca GCC is lame. But at least it's building now. Fixed up the build.ninja and made all tests pass (exceptions weren't being thrown because of `lua_pcall`: use `lua_call` to let exceptions propogate naturally).
bcf4b9b Have I mentioned I hate GCC? I hate GCC.
350f430 Improved tests, added a build.ninja for TeamCity, and fixed formatting again to work with Rapptz's style.
dd63621 Added some catch tests and a basic nil getter.
e7f8ec9 CATCH for tests.
a5d1458 Adding sol.scratch.cpp, and will also add CATCH for tests.
fc19896 Some changes to make sure builds go through on 64-bit.
9e47ec6 Merge branch 'master' of https://github.com/ThePhD/sol into ThePhD
e53c47f Okay, so now it compiles without errors or warnings and works pretty well. This should be the last piece necessary for full working conformance. Yey~
404dc64 Merge branch 'master' of https://github.com/ThePhD/sol into ThePhD
19d01ec Okay, cleaned up includes and now the newest feature: STATEFUL FUNCTIONS! Any stateful function now works and is properly cleaned up, thanks to some additional metatables that are associated with the function values. This lays the ground work for class bindings, but that's a far off dream. For now, table retrieval and `operator[]` is what's for dinner.
21142e7 Removed std::unordered_map storage on tables since they were getting deleted anyways. Memory leaks are currently present: will have to figure out how to patch those up.
5996731 Remove construction from a filename as it's pretty useless
51f7010 Additional `nullptr`'s for GCC's whining ass, and more reinterpret casts. Also for GCC's whiny ass.
2d2ad59 Well, now that we've optimized l-values, the only reason for explicit_lua_func and member pointers is for it to actually store it. To we store a `T` now, isntead of a `T*`.
a66ceb9 GCC is retarded. Well, mostly retarded, anyhow...
288fd13 Ranged for loop. Because ~~clean code~~.
854cbee Fixing style to fit @Rapptz's usual no-tabs, four-space-indents, template<> no-spaces stuff.
49c73c4 Heavy optimizations to stateless and lvalue member functions allow us to make many of the general use cases of lambdas and member function pointers work out. This will be useful. The next fix has tobe in table.hpp in the std::false_type ... specialization of the private `set_fx` function.
6d6dd3d Adding mingw libraries (liblua.a) to gitignore
8c023c5 This properly pushes a local function to the table. However, we're having issues because the tables are being constructed without an attachment to sol::state, making it impossible to keep std::shared_ptr's alive that contain the virtual interfaces necessary to handle those goddamn lambdas.

git-subtree-dir: libs/sol
git-subtree-split: 8db67834b2bc55a4e0310eee3e2e35a143fd6821
Merge commit '6c127fe7d4bf029209fffeee83c05a484a28a053' into lua