Stopper

Implements Xapian::Stopper and Xapian::SimpleStopper, fixes #11 
this should be a static function, but I kind of question the approach.

`XapianDatabase` has an internal `xapian_database_set_database_internal()` which sets the `mDB` field in the private instance data. `XapianWritableDatabase` calls that function to override the database pointer. this way, `xapian_database_get_internal()` can return the right pointer when using it internally.

there's the general question of allowing out of tree implementations of `XapianStopper`, but for that I would use an internal "Generic Stopper" class that calls into virtual functions overridden on the `XapianStopperClass` vtable.

for a first implementation, I would follow the same pattern of `XapianDatabase`/`XapianWritableDatabase`, also because once we commit to an API, changing it requires a major version bump.