Updated the ContactRepositoryInterface, added a Factory, Started adding a Web based Contact Repository

The factory has a flag indicating which repository implemetation to
use.