sl/id_mapper: stop using boost::bimap

1) The library was used in a completely wrong way.  multiset_of<T>
allowed to store single relation multiple times, which was not spotted
until recently.  On the other hand, using set_of<T> does not allow to
map single ID to multiple IDs and vice versa.

2) The code using boost::bimap was nearly impossible to debug, see
<http://sourceware.org/ml/gdb/2013-03/msg00001.html> for a minimal
example.

3) The id_mapper.hh header is included by symtrace.hh, thus indirectly
by many modules, for which the compilation time increased significantly.

4) The word-based completion in vim was polluted by numerous identifiers
internal to boost header files.
sl/fixed_point: group trace edges by heap indexes
sl/fixed_point: implement implyContShapesFromTrace()
sl/fixed_point: implement detectPrevShapes()