Reproducible Research: Tools and Strategies for Scientific Computing