Type switch on otto.Value

Ugh, this is not documented in otto. Leaving a panic for future cases
where dynamic typing will jump out at us.

Fixes issue #160.
Add test for issue 160
Ensure we don't examine empty token

Fixes issue #163.
Merge pull request #166 from kortschak/issue163

Ensure we don't examine empty token
Don't retain results where the value is empty

Empty quad terms are not valid, so we should be able to safely drop any
results where the value is "".
Merge pull request #167 from kortschak/issue165

Don't retain results where the value is empty
Merge pull request #162 from kortschak/issue160

Issue160