avoid multiple declarations of fftw_alignment_of()

fftw_alignment_of() was declared both in the API header file fftw3.h
and in the internal header file ifftw.h.  While there is nothing wrong
with this, it breaks the property that all exported symbols are
defined in the API directory.  E.g., I am not sure what happens on
windows without the proper DLLEXPORT nonsense.

To avoid any issues, rename the internal routine to
fftw_ialignment_of(), and define an API wrapper.
add {before,after}_planner_hooks

FFTW now calls fftw_before_planner_hook() before creating a plan, and
fftw_after_planner_hook() afterwards.  This allows users, e.g., to
grab a lock.

TBD: add arguments.
Conciseness Police
avoid segfaults due to double free

If fftw_mpi_mkplans_posttranspose() fails, the plans cld3, cld2rest,
and cld2 are destroyed at nada and must be set to NULL. Otherwise,
a second destroy at nada in mkplan() will cause a segfault.
Merge pull request #27 from mpip/master

avoid segfaults due to double free
Merge remote-tracking branch 'upstream/master'