now 1.8.7 compatible (!!)

Change a few 1.9-only constructs to be 1.8.7 compatible. Change
internal representation of DictionaryNode from Hash to Array, since
Hashes don't guarantee order of key-value pairs in 1.8.7.
add 1.8.7 to Travis and gemspec