Fundamental concepts in the Cyclus nuclear fuel cycle simulation framework. (April 2016)