Added image field

This PR:

- Adds an ImageURL field to the IndexMetadata and Document.
- Adds a TestAdapter
- Addsd get/set/has methods to the Document class

BC: NO
I would rather not annotate the private properties, it would make the class twice as big for little gain. Symfony tends not to do this:

- https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpKernel/Kernel.php
- https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpKernel/HttpCache/HttpCache.php
- https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpKernel/Bundle/Bundle.php