readd encode-object/encode-slots API with proper documentation

A previous commit removed these generic functions from the API
because of a lack of proper documentation.
We readd them with better documentation, achieved in particular
through the addition of an example showing their use.

Breaking change: ENCODE-SLOTS now has method combination PROGN
as the previous version claimed but did not implement.
What is the rationale for your choice of `MOST-SPECIFIC-LAST`?  I would imagine that if JSON object had plist semantics, `MOST-SPECIFIC-FIRST` would be right, but as JSON objects are not meant to allow duplicate keys (http://stackoverflow.com/questions/21832701/does-json-syntax-allow-duplicate-keys-in-an-object), it does not actually matter how YASON treats such keys - If an object contains the same key twice, it will not be valid JSON.  I would remove the explicit order because it does not matter, and maybe mention that YASON has no provision for avoiding the creation of JSON objects with duplicate keys.