Bug 441448 - Give plugins implementing code formatters more freedom when
dealing with empty selection

The change introduces a new method
SourceViewer.createFormattingContext(int, int) that gives
overriders more freedom compared to the createFormattingContext method
without parameters. The default implementation of the new method calls
the old one and interprets an empty selection as formatting of the
entire document.

Change-Id: I210688466ff07a3a90eab8e1ecc16b4c6e01d088
Signed-off-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>