file naming and organizing conventions

There are only two hard things in Computer Science: cache invalidation and naming things — Phil Karlton Naming things is important. To avoid headache in the future and to be consistent inside the lab, we follow the set of rules below to name and organize files. I use `file` and `directory` interchangeably (unless the difference is obvious in the context) because `directory` is just a special file.