Add constructor "from_file".

The "from_file" constructor for Sarvik::Document reads and parses a
document file.  Example documents are added in "t/example" for use in
tests.
Handle empty element in keys.

The trie key parsing code now handles empty elements in the key
correctly.  Previously, the key parsers stopped when encountering an
empty element in the key.  Empty elements in key occur when separators
are given repeatedly or the key begins with a separator.

Using "/" as the separator, the following keys point to different nodes:
    'a/b/c' => ['a','b','c']
    '/a/b/c' => ['','a','b','c']

Empty elements are now treated as valid parts of a key.