First commit!
Import to git
Merge branch 'master' of github.com:drahosp/lanes
Droping down CMake requirement
Take all code from Asko Kauppi's SVN server, and push it here so that the github repository becomes the official Lanes source codebase.

Note that Asko's SVN server holds version 2.0.9, whereas this is version 2.0.10, but I don't see any real need to update SVN if it is to become deprecated.

Next steps:
- upgrade the rockspec to the latest version
- make the html help available online somewhere

Signed-off-by: Benoit Germain <bnt.germain@gmail.com>
Cleanup
Fixed CMakeLists.txt to search for lua and luac
Updated dist.info to v2.0.10
Changed luaG_push_proxy to cache deep userdata proxies.
Fixed bug where reference to Linda object was dropped for a short time ( crashing if GC was run during that time ).

The reference could have also been stored in the module table ( or globals ) but those
can be overwritten by the user. With the Lua registry, it should be inaccessible
by the user and since it's referenced by a unique key, it should also normally be
in accessible to C libraries, making it a relativily safe place to store the reference.
Changed the atexit code to trip the timer thread's write signal.

This fixes one of the causes of the "pthread_cond_destroy(ref) failed, 16 EBUSY" error,
in which the timer thread was stuck waiting on the write_happend signal and never read
the cancel request. This doesn't fix the issue of attempting to cancel threads waiting
on a Linda signal. So this error message ( and seg fault ) can easily be recreated just
by making a new thread, having it wait indefinitly on a Linda and then trying to cancel
the thread.
Changed lanes.c to export functions as a module rather than writing them directly to the globals table.
Merge branch 'pull_request_2' of https://github.com/dptr1988/lanes
Updated CHANGES
Fixed makefile so that make finds lua.exe
Updated contact information in documentation
Added rockspec file
Changed idfunc signature and contract to clarify that fact it is not lua-callable and to be able to require the module it was exported from in the target lanes.
Fixed application hang-up because keeper state was not released in case of errors thrown by inter-state data copy for unsupported types
Fixed application hang-up because keeper state was not released in case of errors thrown by inter-state data copy for unsupported types
Lane userdata implementation refactoring:
    - Refactor lane proxy implementation: it is now a full userdata instead
      of a table, and its methods are implemented in C instead of Lua.
      * its metatable is no longer accessible.
      * writing to the proxy raises an error.
      * it is no longer possible to overwrite its join() and cancel() methods
    - when a deep userdata idfunc requests a module to be required, manually
      check that it is not loaded before requiring it instead of relying on
      the require function's loop detection feature.
    - when a module must be required, raise an error if the 'require' function
      is not found in the target state.
    - we know Lanes is loaded in the master state, so we don't force it
      to be required in every lane too when a linda deep userdata is copied.
* keeper.lua is now embedded in text form instead of bytecode to improve LuaJIT2-compatibility (but this is not enough).
* moved keeper-related code in a separate source file