Seperated build, distribute and source directories

Generated objects and executable files now go to $(BUILD_DIR). The following targets all, init, test, clean, examples, pycaffe, matcaffe, and distribute can all be built successfully after executing "make clean".
    
issue: #1