Patch to allow custom column specification for morphTo relations

This patch allows for (optionally) specifying custom column names for a morphTo relationship, to deal with for example a database that doesn't follow snake_case naming conventions. It should retain backwards compatibility with morphTo relationships that do not specify a custom set of column names. The documentation is updated accordingly. The latest changes from `master` have been pulled in as well.

Note that I have **not** run tests, nor have I created a new one for this case - I was unable to find setup instructions for the testing environment (eg. expectations of available databases, and so on). I have only tested the new functionality manually. If you can provide instructions, I'll gladly run and write tests.