[FEATURE] 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
@dantleech Is there a reason you are passing the entire document instead of only the language? Will merge it anyway, but would like to have an answer, and maybe we can fix it in a future version.