Strategies for Improving the Functionality of Zeolitic Imidazolate Frameworks: Tailoring Nanoarchitectures for Functional Applications