Watchpoints patch

This should fix watch points. The key place it will be wrong, if it is, is in `WatchpointManager.cpp` -- it seems sane to me, but could you have a look?
This can be simplified to address + ldst_size > watchpoint.begin && address < watchpoint.end, see http://stackoverflow.com/questions/3269434/whats-the-most-efficient-way-to-test-two-integer-ranges-for-overlap