obiaway update

- added new commands: //obiaway [help | notify | get]
- obiaway now pulls obis from other inventories as well as puts them away according to weather, day, and SCH buffs.
- stores all obis when entering the following areas (to prevent gearcollector users from having them misplaced):
	
    Ru'Lude Gardens, Upper Jeuno, Lower Jeuno, Port Jeuno, Port Windurst, Windurst Waters, Windurst Woods, Windurst Walls, Heavens Tower, Port San d'Oria, Northern San d'Oria, Southern San d'Oria, Port Bastok, Bastok Markets, Bastok Mines, Metalworks, Aht Urhgan Whitegate, Tavanazian Safehold, Nashmau, Selbina, Mhaura, Norg, Kazham, Eastern Adoulin, Western Adoulin, Leafallia, Celennia Memorial Library, Mog Garden
This set is now created every time the function `get_needed_obis` is called. This won't really be noticeable, but it's unnecessarily wasteful. There are two options to address this issue:
1. Put the `areas` and `arias.Cities` variables in the global space. To do that just define `areas` and `areas.Cities` outside of the function.
2. Use a closure to close over these variables. This is what I mentioned above. The basic idea is this:
```lua
some_function = function()
    local function_local_variable = 0
    return function()
        --[[ some code that uses function_local_variable ]]
    end
end()
```
What happens is that `function_local_variables` is local only to the inner function, since it's not in the global scope. But at the same time, the inner function doesn't define it, so it's only defined once. This is a useful way to define values local to one function that are not needed for any other function in the code without polluting the global namespace (or the global table in Lua's case). So in this case, it would look like the following:
```lua
get_needed_obis = function()
    local areas = {
        Cities = S{
            'Foo',
            'Bar',
            'Baz',
        }
    }
    return function()
        elements = get_all_elements()
        obis = get_obis_in_inventory()

        local str = ''
        --[[ Rest of the function ]]
    end
end()
```