Fix #551 - Reimplement align_ptr in a more sensible way

This commit fix 551 by relying on a simpler meta::align_ptr
implementation :

 - a BOOST_SIMD_ASSUME_ALIGNED maccro is made to wrap the
   various built-ins/intrinsics to notify the compiler of
   a pointer alignment

 - meta::align_ptr is always generated for a preset number
   of alignment using both BOOST_SIMD_ASSUME_ALIGNED and
  BOOST_SIMD_ALIGNED_TYPE to reduce code duplication