Update bom_generator.py

Create summary table of parts.
Add singular part names if there is only one.