read_mcnp_inp now retruns a dict

Originally, this function read an MCNP input, grabbed the materials and returned a list of ```Material```/```MultiMaterial``` objects. I think such a list is an inconvenient and unwieldy data type. I changed this function to instead return a dictionary that maps MCNP material numbers to ```Material```/```MultiMaterial``` objects. I made a few other minor changes along the way.
I changed ```read_mcnp_inp``` to ```mats_from_inp``` and ```mats_from_mcnp``` to ```mat_from_inp_line```. I think this should clear things up.