Bugfix for netcdf with newer automake

The lack of a space between the generated "fi" keyword and the
following comment character seems to have been preventing bash from
finding the end of that if block.
Regenerate configure

Regenerating with old autotools for consistency
Cleanup of variational mesh smoother

* Removing custom typedefs
* Move constructors to C file
* 'uint' is not standard C++
* built-in types need not be passed as const
* 'if(' -> 'if (', 'for(' -> 'for (', 'while(' -> 'while ('
* Clean up function prototypes
* Fixing indentation
* Use C++ style casts
Replacing C arrays with C++ objects

double* x -> std::vector<double> x
double** x -> Array2D<double> x
double*** x -> Array3D<double> x

Got rid of all dynamic memory allocation.
Declare variables when they are used.
Use const in interfaces where appropriate.
Cleaning up C interfaces.

No need to pass mesh dimension, number of nodes, number of cells, and
number of hanging edges as separate parameters.

Removed unused FILE* parameter from several functions.

Pass references instead of pointers where possible.
Converting FILE* usage to std::ofstream where possible.

Declare variables where they are used.

Replace sqrt, abs, and fabs with their std:: versions.
Fixing lots of remaining spacing and formatting issues.
Miscellaneous improvements:

* Simplifying logic in minJ_BC
* Refactor readmetr to use ifstream
* Use default op=
* Fixing some numerical constants.
* Making some parameters non-const and adding accessors.
* Add error checking for fopen.
* Passing std::strings instead of char*
* Fixing up the metr_data_gen() function.
* Properly initialize _dist_norm.
Converting metr_data_gen to iostreams.
Merge pull request #289 from libMesh/netcdf_automake_fix

Netcdf automake fix
Adding a CITATION file.

This was suggested by someone at the WSSSPE1.1 meeting.
Miscellaneous improvements:

* Cleaning up some numerical constants.
* Removed code duplication for QUAD/HEX metric output.
* Fixed bug in HEX metric output.
* Use Point instead of array where possible.
* Update docs.
Update traffic.
Update citations.
Merge pull request #291 from libMesh/vsmoother

Clean-up of the old vsmoother class
NewtonSolver: Check for result of linear solve

new DiffSolver result for error in linear solve, flag for disabling the check
Adding an init_1D implementation for QMonomial.
Updating autoconf stuff...