Add language selection to narrow detection scope

So far all the language data was used when detecting the language of an
input. If the corpus is large enough, this is definitely feasible. The
input, however, is sometimes short consisting only of few words.

To avoid false detections the constructor should be used to narrow the
scope of possible languages. An instance variable @selection is used.

In the method for processing the text this variable is used. Unless the
symbol :all was passed, the intersection of all the possible languages
and the selection is created.

A simple unit test was added to test this behavior. In this case the
input consists of three German articles. Without the language selection
Russian is detected as language. With the language selection, German is
detected.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Add unit tests to validate further configurations

Just to make sure that different configurations play nicely along I have
added further unit tests. If neither a known language, nor :all is used
the detected language will be null.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Extend README

I have added the new configuration option to the README.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Change the default case from none to all languages

It would be rather confusing, if the default constructor creates an
object which cannot detect any languages because none are selected.
Thus, the default case is changed from none to all languages.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Merge pull request #16 from platzhirsch/feature/language-selection

Add language selection to narrow detection scope