Casting Closure to Array

Summary: When casting an object of type Closure to an Array, the result should be an array containing the closure.

Reviewed By: @fredemmott

Differential Revision: D1411182
Update gdb/hhvm.py for conversion of PreClass::m_name to LowStringPtr

Summary: PreClass::m_name was converted from StringData* to LowStringPtr in
ab9494c3c. Also add fixme for the removal of IndexedStringMap::m_vec,
which broke the ObjectData printer, and add a workaround to avoid an
exception.
Closes #3075

Reviewed By: @ptarjan

Differential Revision: D1413647

Pulled By: @LiraNuna
Improved Zend compatibility in the reflection API.

Summary: * `inNamespace()`, `getNamespaceName()`, and `getShortName()` should not be
   `final`. This was causing issues in phpspec which mocks these methods.
 * Added missing `ReflectionFunctionAbstract::getClosureScopeClass()` and
   `ReflectionFunctionAbstract::__clone()`.
 * Removed abstract `ReflectionFunctionAbstract::getClosure()` as it's not in
   the Zend API meaning userland classes extending `ReflectionFunctionAbstract`
   are unlikely to implement it.
 * Made `ReflectionFunctionAbstract::isClosure()` non-abstract as it's not
   abstract in the Zend API.

Added tests for mocking `inNamespace()`, `getNamespaceName()` and `getShortName()`.

Closes #3070

Reviewed By: @fredemmott

Differential Revision: D1411359

Pulled By: @LiraNuna