Fixed test failures and segmentation faults to replace MKL with Boost/Eigen3

This pull request aims to deal with the differences between Intel MKL and Boost.Random 1ff7241, Eigen::Map 68bf029. 

Test failures related to FlattenLayer  842a435, stochastic pooling layer d851962, and DataLayer 6a11fa3 are also resolved.

Finally, minor enhancements to building b5badf7 and installing e853430 are added.

Whether should the Intel MKL related codes be removed completely? Currently they are just commented out. Although considering some users may want to exploit Intel MKL's performance,  it could still be kept along with Boost+Eigen3 for a while so that they could finish the transition in no hurry. This decision would probably produce duplicate codes and maintenance burdens in the long term. What are your opinions?

issue: #16