dict use binary search instead of linear search

This change should assure steady performance for large dicts.
set performance has dropped as dict contents are now kept in sorted
array. Sort order is maintained by binary searching the correct position
and then moving all tailing items one position further.
get is now logarithmic run time O(log N)