Adding universal read_var_names() interface.
Removing read_elemental_var_names(), read_nodal_var_names(), read_global_var_names().
Renaming num_globals -> num_global_vars.
Make the initialize_xyz_variables() interfaces the same.
Adding universal write_var_names() interface.
Replacing explicit calls to ex_put_var_names() with unified interface.
Also wrap the call to ex_put_var_param() in write_var_names().
Return if no global variables to write.
Return if no nodal variables to write.
Adding _nodal_vars_initialized flag.
Adding ExodusII_IO_Helper::check_existing_vars().
Using check_existing_vars() function.
All the new helper functions should be private.
Merge branch 'exodusII_refactor'
Merge pull request #168 from permcody/master

Another attempt at fixing unique ids in parallel mesh
Make Exodus reader respect the numbering in elem_num_map.

Miscellaneous improvements/changes:
* The temporary exodus_id_to_mesh_id map is not needed if we preserve the Exodus numbering.
* Move writing of elem_num_map outside loop over blocks, this way we only need .
* Use subdomain_id_type and dof_id_type where applicable.
* Removing unnecessary elem_num_map_out vector.
* Minor documentation, reformatting, and other fixes.
* Use the class member elem_num_map rather than creating a function-local variable.
* Can no longer assert that mesh.n_elem() == nelem_last_block, added explanation.
* Properly map element IDs in sideset lists.
Merge write_elements() fixes into write_elements_discontinuous()
but note:
* I don't have code that tests write_elements_discontinuous()
* I don't know how write_elements_discontinuous() is supposed to differ
  from write_elements()
* It doesn't look like it's writing out the elem_num_map correctly:
  it gets overwritten for each block.
Merge branch 'exodusII_elem_map'
Make Exodus reader respect the numbering in node_num_map.

Miscellaneous changes/improvements:
* Asserting mesh.n_nodes()==num_nodes is no longer valid if the nodes do not
  form a contiguous numbering starting from 1.
* Set correct, mapped node pointers when building Elems and creating nodesets.
* Write out node_num_map from write_nodal_coordinates function.
Minor code cleanup and reformatting.