Support callback array syntax in CallbackPromise

As reported in #63, trying to use CallbackPromise with an array will fail because it is assumed that all callbacks are either strings or closures.

This change adds a small check around the relevant logic to skip the closure-specific logic when the provided callback is an array (of any kind, no further checking is done).
Removing a redundant return statement
Adding tests for more callback types
Removing Reflection from closure binding
Removing extraneous comments
allow mirroring classes that have nonexistent class typehints
Merge pull request #65 from docteurklein/fix/mirroring-classes-with-unexistant-class-typehint

allow mirroring classes that have nonexistent class typehints
Lowercasing function first letter
Clarifying name of bind method
Inlining closure binding logic
Merge pull request #66 from ciaranmcnulty/callbackpromise-array-callbacks

Support callback array syntax in CallbackPromise