Modify interface for custom malloc/free/realloc

As per issue #530.a/b, the old way of defining custom base
allocationand deallcoation function was clumsy and required
the custom function to be known before any include of the
aligned_{malloc/free/realloc} functions.

This patch reimplements this feature using a boost::throw_exception
style system of :
 - defining a BOOST_SIMD_CUSTOM_* macro for each specific overridable function
 - let the user fill a predefined but not implement function called
   default_{malloc/free/realloc}_fn in which he can defines any kind of behavior
   as long as the prototype is respected.
Change naming scheme for the override macro
Merge pull request #632 from MetaScale/issue_530

Issue 530