Software Carpentry: Getting Scientists to Write Better Code by Making Them More Productive Documents