make encode-plist play nice with nested plists

Hi, 
just made this small change to the plist encoding, which allows to store nested plists, e.g:

(:a "a" :b-and-c (:b "b" :c "c"))

which gets encoded to:
{"A":"a","B-AND-C":{"B":"b","C":"c"}}

Hope that makes sense!