Revamp software-design.md with content from components.md and my answers to natevw.