CE-1125 ImageReview refactoring - Prologue

This commit contains:
* Use Vignette as a thumbnailer
* The beginning of a code separation (hooks & db queries)
* Some documentation

Pinging @Grunny @macbre and @nmonterroso  due to Vignette changes
Are you always expecting $aValues and $aWhere to be arrays? if so, define their type in function definition.