Self-Assembly of Block Copolymers: From Fundamentals to Applications