Upgrade to Lua 5.2, but keep compatible with Lua 5.1

Done in this commit:
 - upgrade module declaration and loading:
   - "module" idioms are replaced by returning the module table
   - declare a local variable for the loaded module
   - declare private function local and export module functions through
     the module table
 - upgrade the getenv function by calling or emulating getfenv
 - export the is_test_key function to enable customization
 - suites are stored in an indexed table to run suite in the same order
   they are added. Tests are run in arbitrary order.
 - update tests and test suites files
 - bumps to version 0.9.5 and update the rockspec accordingly:
   No need to fix "lua >= 5.1" to "lua = 5.1" thanks to this upgrade.
 - update README.md

Has been tested successfully with Lua 5.1, Lua 5.2 and luajit 2.0.3.