Fix VELO_SLIP BC in parallel when using a reference node to measure distance

Adds new functions to communicate boundary condition data that is needed in parallel.

The new function executes in serial as well so the needed node coordinates could be specified in BC_Data_Float and not have a conditional inside of fvelo_slip_bc checking if it was a parallel run.

The function only runs once in problem_setup as fvelo_slip_bc was not actually using the mesh displacement but was calculating based off of undeformed node position

exchange_bc_info could be re-purposed to run more often if BC's are found that need to exchange information based on data that was previously solved for (like if velo_slip was changed to use deformed mesh node coordinates).

Allows beaker problem to work properly in parallel as beaker used the reference node (N_cl) input for VELO_SLIP

Passes Test suite.

Fixes #52
There is a slight danger that somebody would add a new BC that should have some information exchanged, but would forget to implement that functionality here.  But not sure there's an easy solution to that.  Just something to think of.