Covalent Organic Frameworks (COFs): From Design to Applications