Machine Learning For Classical Planning : Neural Network Heuristics, Online Portfolios, And State Space Topologies