[HttpKernel] Add better error message when controller action isn't callable

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | none
| License       | MIT
| Doc PR        | 

In the `ControllerResolver`, if a controller isn't callable, try to give a better description of what went wrong
In the ControllerResoverTest, there is a test called `testCreateControllerCanReturnAnyCallable`, which mocks  createController to return a string callable. I used that as a reference that the createController method can return a string as a callable, that's why this checks is a bit verbose to cater for any type of callable. But I agree it is a bit difficult to read, I'll refactor this method a bit to make it cleaner