Handle cases where a function is called on an empty array

1. Check for contents of an array before invoking the dot call
2. Basic language test
Undefine a symbol and its associated entry in the symbol cache

1. Undefine the symbol from both the table and cache
2. Refactor undefine symbol into a function
3. function redef testcase
Merge pull request #1597 from junmendoza/newMaster

Handle cases where a function is called on an empty array