Merge pull request #1 from colindean/master

Merged in a ruby implementation by colindean.
Added java code, need to test it
added tests and fixed the bugs
improved tests and removed @BeforeClass method
renamed boolean flag from leaf to terminal since all leaves are terminals, but not all terminals are leaves
renamed the wrong class field in the last commit
removed words.txt will perhaps bring it back later and make a Swing demoe that uses it as the dictionary
Merge pull request #2 from volker48/master

Merged Java port by volker48.
vector::insert instead of a vector::push_back loop

this reduces reallocations a bit and looks cleaner too
pass strings as const references
replace char_to_string with a string constructor
Merge pull request #3 from thestinger/master

some performance improvements to the C++ implementation
add ruby benchmark

This compares tries to arrays in two ways:

* initialization
* lookup

The array implementation is a naive select/starts_with? approach.

One caveat about this test is that I'm actually comparing full word
resolution, and not partial word matching. That could be another set
of benchmarks to add.