HW5: Bill of Materials; File I/O, CSV parsing, stream manipulation, STL containers, etc.