Modeling Methodologies and Tools for Molecular and Nano-scale Communications