Add swap/3 API

Add ability to atomically swap the callback module for a given code
range.  The exact code range must already be registered or an error
tuple is returned.

NOTE: This is needed for migrating from Riak Search to Yokozuna, see basho/yokozuna#20.