Add support for depth range to CallerDataConverter

The caller converter of the pattern layout supports specification
of depth which changes the number of levels it writes out
from the stack trace. If you need to skip some levels and write out
a range of stack trace elemens you cannot do so. This commit adds
support for ranges using the double dot ("..") notation. It can be useful
while using for example Scala traits to simplify logging which causes
the file and line number to be incorrect. This way the user can see
the actual place where logging was called.

**Documentation update (http://logback.qos.ch/manual/layouts.html#caller):**
A range specifier can be added to the caller conversion specifier's options to configure the depth range of the information to be displayed.
For example, `%caller{1..2}` would display the following excerpt:
```
0    [main] DEBUG - logging statement 
Caller+0   at mainPackage.sub.sample.Bar.createLoggingRequest(Bar.java:17)
```