Add the option to specify the directory for output files
A few fixes to using an external build_dir

* Copy .hpp and .hh files
* Search for headers recursively
* Don't do anything except for cython sources
copy sources and depends instead of headers
Add build_dir test.
Merge branch 'build_dir'