Split an ST_Retile function out of ST_CreateRasterOverview

With ST_Retile you can create a regular tileset from an irregular one.
Also adds an additional snapping and clipping to ensure target tiles
are exactly as requested in input (at most)
Simplify ST_Retile code, remove "clipping" bounds

Also consider all the neighbouring tiles of the target one