Building the Network of the Future: Getting Smarter, Faster, and More Flexible with a Software Centric Approach