Applications of Nanoporous Materials in Gas Separation and Storage