Disallow empty strings as term

I took the liberty to change the "are discouraged" to a MUST NOT. This is the only way to ensure interoperability IMHO. I'm still on the fence about adding a MUST NOT to disallow multiple members using the same key. JSON itself has a SHOULD NOT (but that might be changed soon).

/cc @msporny @dlongley @gkellogg @niklasl