Use snake_case for all file and directory names

This is more consistent and less surprising for Rubyists.
Move per-chapter files to top level

Less typing required in IRB.