Add some code to determine ownership of ghost nodes

I noticed that the load_balance function currently includes ghost nodes
when it figures out the cumulative node count. This is also the case
with the global_node_count function and the use of
len(self.volumes). This needs to be addressed by either:

1. Keeping a separate list of volumes for the ghost nodes, or

2. Excluding ghost zones from the volumes list wherever appropriate
Add a get_volumes function which can optionally return ghost nodes