Molecular Communications and Nanonetworks: From Nature To Practical Systems