Aligned memory allocation generalization.

This pull request contains the following changes:
- splitting all target .ll libraries in to variants: for 32 and for 64 bit runtime;
- memory allocation is always done through posix_memalign (Linux/Mac) and _aligned_malloc (Windows);
- default memory allocation alignment for SSE/AVX/KNC is set 16/32/64 accordingly;
- memory allocation alignment is managed by compiler switch (--force-alignment=<value>);
- Windows build cleanup: CYGWIN warnings, moving auto-generated files to Release/Debug folders and internal ispc.vcproj cleanup.
- minor cleanup in util.m4

Changes were tested on Linux, Mac and Windows. Two new regressions were observed on Win32, but they appeared to be caused but different problems related to stack alignment (to be addressed by separate fixes).