Code formatting and refactoring in tree_node.{C,h} and tree.{C,h}

* Fixing spacing, indentation, etc.
* Moving some functions to source file.
* Input parameter need not be marked as const.
* Compute center with less operations.
* Make create_bounding_box code more terse.
* Looping backward using an unsigned int for no reason makes me nervous.
* Use consistent local variable names.
* Combine if-statements.
Implemeting a PointLocatorTree variant that searches only local elements.

* Adding new PointLocatorType enumerations to expand PointLocatorBase::build() interface.
* Adding LOCAL_ELEMENTS to Trees::BuildType enumeration.
* Handle unknown build_types by throwing an error.
* Adding Trees::LOCAL_ELEMENTS case to Tree constructor.
* PointLocatorTree now stores the Trees::BuildType it uses.
* When _out_of_mesh_mode == false, but we're using a LOCAL_ELEMENTS
  tree, then we still want to be able to return NULL on processors
  which don't contain the Point, rather than finding it on other
  processors.
Merge pull request #264 from libMesh/point_locator

Point locator