Added specs for Kernel#caller_locations.

This also includes standalone specs for Thread::Backtrace::Location and its
methods.
Added support for Kernel#caller_locations.

This fixes #3218.
Updated specs for Kernel#caller

This adds a set of actual specs instead of just checking if the "caller" method
is present.
Allow a limit to be set in Kernel#caller.

MRI allows one to specify a limit when calling Kernel#caller. Besides that the
`exclude_kernel` argument wasn't even used.