Data access enhancements

This PR enhances the data access functions, to provide 'category', 'folder' and 'brand' substitutions when a product (or content) is defined (as Thelia 1 does ^_^ ).
Minor enhancements (CS, comments, style) are made on DataAccessFunctions.php class.

On the asset's side, a message is logged if the generated url is empty, of if the 'file' parameter of assets Smarty function (stylesheets, javascripts, images) is missing.
$search should be a ModelCriteria, that will be used by dataAccessWithI18n(), so filterByPrimaryKey() is OK.

However, you're right, the null test is useless.