This diff adds a new primitive callable type to the PHP language support. This represents anything which can be called as a function in PHP (e.g. a function name as string, a closure, an array with two entries for static class methods, etc.).
Additionally, for return types, when two return types are detected with one being a callable and one an actual function, the return type is set to just a callable.