luaunit revamp

Summary:
Add ability to nest tests and add tests explicitly.

Usage: a test case contains multiple tests (usual JUnit terminology; think
test case akin to suitcase, which contains multiple suits :) )

A test case is a table. A test is a function in that table. Test cases
may contain tests (functions) or nested test cases (tables).

Given a test case, we find tests and child test cases in two ways:
- all functions / tables with names starting with "test"
- all functions / tables added explicitly with
##LuaUnit:add_test(name, value, parent)##

Whenever we run a test, we run setUp and tearDown functions (if any) in its
case.

Example:

```lang=lua
require('fb.luaunit')

TestFoo = {}
function TestFoo.test1()
-- ...
end

function TestFoo.test2()
-- ...
end

for i = 1, 10 do
LuaUnit:add_test('param ' .. i, function(i) doSomething() end(), TestFoo)
end

SubTests = {}
function SubTests.test3()
-- ...
end

LuaUnit:add_test('subtests', SubTests, TestFoo)

LuaUnit:main()
```

Note that this is hacking on the existing LuaUnit, so code quality is less
than ideal.

Test Plan: existing tests pass, but I haven't added new tests

Reviewed By: fjargsto@fb.com

Subscribers: lesha, kma, jhj

FB internal diff: D1448515
(Proof of concept) rudimentary support for complex numbers

Summary:
Integrates with the (even more rudimentary) support that LuaJIT already has.

Usage:

``` lang=lua
local complex = require('fb.complex')
local a = 1 + 2i
local b = 2 + 3i
print(a / b)
print(a * 2)
print(complex.sin(a))
```

Test Plan: none yet

Reviewed By: kma@fb.com

Subscribers: lesha, jhj

FB internal diff: D1441301
do not call tocomplex() twice for __pow

Test Plan: ran it

Reviewed By: kma@fb.com

Subscribers: lesha, jhj

FB internal diff: D1452382
OSSify ffivector and complex

Summary:
Move FFIVector to fblualib, add comments, fix a few bugs (destructors weren't
called when replacing existing elements), add new_int, new_uint64_t, etc.

Add OSS build files for FFIVector and complex.

Test Plan: fbconfig -r fblualib deeplearning/torch/test && fbmake runtests_opt

Reviewed By: kma@fb.com

Subscribers: dcapra

FB internal diff: D1453478