[z2117] SQLStorage cleanup and rewrite. Introduce new abstract class SQLStorageBase

Based on ideas and work by Silverice.
Also note that the abstract class SQLStorageBase will hold the actual loaded data.
This is to be seen in view of comming additional changes so that it is possible to directly iterate over the data and not over indexes with additional lookups.

Signed-off-by: Schmoozerd <schmoozerd@cmangos>

(based on commit [12181] - 6f7791e)

(based on commit [s1743] - 601be9f)