#i122208# replace the binaryurp cache for improved C++ compatibility

The C++ standards allows that the instantiation of incomplete types fails. The
Map::iterator in binaryurp Cache's Entry members had this problem. This rewrite
makes the code work with all compliant C++ compilers/STLs such as clang/libc++.
A Cache variant using an unordered_map is also provided and may be faster.
An interesting alternative would be to use boost's multi_index_container.
#i122195# fix leak when handling exceptions in the UNO bridge for OSX 64bit
#i122208# force boost *map for configmgr's Modifications Node structure

The C++ standards allows that the instantiation of incomplete types fails. The
Node structure had this problem because it contained a map of Node structures
itself. Boost containers explicitly allow recursive types so they solve that.