RealmResult iterators now detect changes to underlying tableview.

RealmResults now correctly identify any changes to the underlying query tableview and throws a ConcurrentModificationException if detected.

@kneth @bmunkholm @emanuelez 
@emanuelez @bmunkholm I am a bit concerned about this unit test and its implications.

1) I open a non-default Realm called "test" and still the reference counting unit test fails if both RealmTests and this class is run.

2) I need to do Realm.refresh() on the Main thread to get notifications from the background thread. Main thread has notifications enabled, background thread does not.

We probably don't need to fix it in the PR, but should investigate on another branch.