Fixed some clang warnings.
Add data struct w/ species-object transp. info.

During simulation initialization, a data structure is created that
stores what species are transparent to what objects. This data structure
uses a pointer hash with species names as keys and values are a linked
list of pointers with type object_transparency. The object_transparency
struct contains the object's name and whether the species can go
in-to-out and/or out-to-in.

This data structure is primarily intended for use with dynamic
geometries. The current implementation of dynamic geometries ignores
geometries that aren't watertight for purposes of placement. Given this
constraint, we treat partial transparencies as fully transparent.
Handle transparencies with dynamic geometry events

When a dynamic mesh event happens, molecules can end up in new meshes.
Originally, we would always move molecules back to whatever was their
closest enclosing mesh before the event happened. It makes more sense to
let molecules pass through meshes that they are transparent to.

This commit adds partial support for this. If the molecule moves to an
"overlapping" location, then the molecule will move through meshes it is
transparent to. By overlapping, we mean that a molecule moved into or
out of a single set of nested meshes. For example, imagine mesh A is
inside mesh B which inside C (A->B->C->null). If the closest enclosing
mesh was A and is now C or vice versa, that is considered an overlapping
movement.
Set uninitialised value.

The volume for a region wasn't being initialised.
Removed some unused code.
Fixed some memory leaks.

Also updated an old comment.
Handle transparencies w/ "non-overlapping" meshes.

When a dynamic mesh event happens, molecules can end up in new meshes.
Molecules should be able to pass through meshes that they are
transparent to during such an event.

A recent commit added partial support for this, namely if meshes
"overlapped". See that commit for an explanation of what is meant by
overlapping. With this commit, we can handle molecule movements between
non-overlapping meshes like A->B->C->null to D->E->F->null.
Renamed some variables and structs.

Changed obj(ect)(es) to mesh(es) and mol(s) to species where it made
sense to do so.
Dynamic geometry: warn when molec can't be placed.

When changing geometry, issue a warning if a surface molecule cannot be
placed.

Also fixed a bug.
Code cleanup. Fixed bug.

Consolidated some code into check_outin_or_inout function. Removed
redundancies and did some general clean-up.

Fixed bug in check_nonoverlapping_meshes code.