Implemented feature request from #7. Implementation could use some cleanup for codebase aesthetics, but works properly on my machine. The logic permits storing executables in layout_dir and arbitrarily deep subdirectories thereof. It's my first time working with Rust, so I'm not really familiar with language best practices, but I tried to maintain the style of the codebase to the best of my abilities.
P.S. I forgot to turn my auto-formatter off while writing the patch! >.< Sorry for the massive diff, I can reformat before merge if desired.