Rewrite of the 'dict' getters and setters

With this rewrite:
  * The getter raise an exception if the item does not exist
  * '@' prefix is replaced by '￼' because it is less common
  * 'uid' attribute has been replaced by '__uid__'
  * '__contains__' now works with keys that are functions

The code runs at the same speed.

As before, 4 and '4' are the same key.
Add missing exception values: IndexError, KeyError, ValueError

Put the good exception names in the buitins.