Adding CUBPACK and enabling TAO external libraries.
Changes to tao library names.
Merge pull request #81 from chrispbradley/master

Adding CUBPACK library and re-enabling TAO now that it works with PETSc 3.2.
Compile with fPIC under Intel compiler

To support building a dynamic library for the Python bindings.
Merge pull request #87 from adamreeve/python

Compile with -fPIC under Intel compiler
Merge pull request #86 from xyan075/master

Add coordinate system to interface
Update boundary condition arrays

- Add a second array for the specific boundary condition
  type and rename the original array to make it's use more
  clear.

- Create new DOF fixed, free and mixed constants for the
  boundary condition DOF type array.

- Update references to the old global_boundary_conditions
  array to use one of the two new arrays.

- Reorganise the boundary condition routines to set values
  for DOFs in both arrays.

- Remove unused equations set boundary condition constants.

Tracker item 3052.
Problem_solver_load_increment_apply doesn't need to be public
Add BC routine for checking interpolation type

Some boundary condition types might not make sense
when applied to a field component with constant or
element constant interpolation.  Tracker item 3052.
Rearrange solver finishing routines

solver_create_finish now calls the specific solver
finishing routine, eg. solver_linear_create_finish,
which is more intuitive. Now the solver isn't marked
as finished until the solver equations boundary conditions
are finished.
Remove unused variables in solver_routines.f90
Keep RHS DOFs free when applying pressure BCs

This is because the pressure terms are added within
the finite element residual evaluation, rather than
by setting the RHS field variable values, as in
standard Neumann conditions.  Do the same also for
the impermeable wall condition.  Tracker item 3052.
Add routine for creating field parameter set if it's not already created
Use standard BC routines for setting Neumann conditions

These don't need their own special routine for setting them,
and the way it was before you could only set Neumann conditions
once.

The current change might break these conditions when running in
parallel due to the way global to local is used, but they don't
seem to work in serial and need a big clean up, so this
will probably get changed anyways.
Fix doxygen comment in boundary conditions type for Neumann conditions
Count boundary condition types as they're added

Count condition types as they're added and then sum them
across all nodes, so that all nodes know if a certain
boundary condition type has been set. Avoids looping
over all dofs to count the different condition types.
Merge pull request #89 from xyan075/master

Interface coordinate system
Add missing enters call in boundary condition routines
Update boundary condition DOF constants

Keep them ordered, rather than using the old mixed number of 7,
seeing as these are a new set of constants.
Create parameter sets for boundary conditions as required

Rather than adding parameter sets that might be required
based on the equations set, create then when a BC is set on
a DOF. Also generalise this by keeping a list of parameter
sets that are required by the boundary conditions.