fixes for boost_1_51_0: error: missing binary operator before token “(”

see: http://stackoverflow.com/questions/9631762/error-missing-binary-operator-before-token

notice, this pull request has too many back-changes in it.

Please pick up only the changes, which look like follows:

-#elif BOOST_PP_ITERATION_FLAGS() == 1
 	 326	
+#else
 	 327	
+#if BOOST_PP_ITERATION_FLAGS() == 1

@koppi