Updated MathLibrary

Added support for randomseed and random functions.
Still missing support for overloaded random function.
Updated LuaContext

Added SetTypeMetatable function, allows you to set the metatable for a
CLR type object to provide initial support for Interop through
metatables.
Added ImportType function to import a CLR type for the current
LuaContext.
Added Interop Library

Adding support for CLR interop to Lua, through some custom metatables
through which CLR types are wrapped. Currently non-functional and in
testing.
Updated BaseLibrary

Added check for ToString metatable entry for LuaTable values.
Updated LuaTable

Added Context storage for LuaTables (stopgap solution to fix missing
Context values in binders).

Added Count() method, returns the total number if entries (not just
sequentially indexed ones)
Updated LuaContext

Updated all LuaTable constructors to make use of local context reference
(as per changes to LuaTable).

Now uses BaseLibrary's ToStringEx method to provide FormatObject
support, removing duplicated functionality and centralizing any
maintainance work.
Updated PackageLibrary

Makes use of Context reference for generating LuaTables as per changes
to LuaTable (requiring a LuaContext to be passed to the constructor)
Updated InteropLibrary

Added clr.import, clr.call, clr.method, clr.getvalue and clr.setvalue
methods
Added support for calling CLR methods through the clr.call function.
Added support for getting a callable method reference for CLR methods
through the clr.method function.
Added support for getting and setting static and instance values on
objects and types through the clr.setvalue and clr.getvalue functions.
Updated LuaOps

CallMetamethod updated to provide 2 instances of object on the top of
the parameters stack. This way, the object is also passed to the target
metamethod after the first instance of the object is stripped for CLR's
target.
Updated LuaTable

Re-added the anonymous constructor for LuaTable, but marked it as
obsolete and indicated why. This is to rectify issues which would result
in crashes when instances were instantiated purely for type name
coercion.
Updated LuaContext

Modified GetTypeMetatable to handle BoundMemberTracker wrapped values
which are used for the syntax sugar implementation in the Interop
Library.
Revert "Updated LuaOps"

This reverts commit 62b3f3f66fc9577a1e66cdb13142166228a93a0a.
Updated BaseLibrary

Fixed IPairs method (was missing LuaTable parameter, which caused for
loops to fail)
Updated Generator

Explicitly provided namespace for
Microsoft.Scripting.Utils.CollectionUtils.Concat, which is analogous to
LINQ's IEnumerable extension.
Updated Sample

Added tests for CLR interop and scope access. Basic sample of what can
be achieved (including event handler registrations etc)
Updated Interop Library

Added support for event handler subscriptions to be handled through Lua
(i.e. Lua subscribing to .NET events).
Updated call handler to support BoundMemberTracker instances for .NET
types.
Updated SetMemberBinder

Now falls back on the default DLR SetMemberBinder to allow .NET types to
have their values bound in a natural way. This does not work on structs
due to a limitation of the DLR's default SetMemberBinder.
Updated LuaInvokeBinder

Miscellaneous changes