#184 Review PR

This PR is created for initial reviewing of the changes of #184 because #184 includes many external changes and hard to review.
`copy_if_different` would still trigger a full build as I've tested and discussed at numenta/nupic#1107