NaturalNode/natural — pull request #149 by moos (2014-05-03 13:36:22+00:00)
Title: fix Trie's keysWithPrefix() throws if string not found

Fixed the following to return empty array rather than throw.
```
var trie = new Trie();
trie.addStrings(["a","ab","bc","cd","abc"]);
results = trie.keysWithPrefix("blah");
...
z:\natural\lib\natural\trie\trie.js:105
if (node.$) {
^
TypeError: Cannot read property '$' of null
at recurse (z:\natural\lib\natural\trie\trie.js:105:17)
at Trie.keysWithPrefix (z:\natural\lib\natural\trie\trie.js:119:5)
at Object. (z:\natural\trie-test.js:10:16)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
```
Also slight perf improvement for isEmpty() method per http://jsperf.com/object-keys-vs-hasownproperty/16.