Update docs
Update style for documentation and code

For documentation, each section *starts* with --- but continues with --.

For code, rather than make each function local and then manually add it to
the table, use the briefer alternative style instead. Ex:

    local t = {}

    function t.foo()
      1
    end

    return t