split NodalValueSampler into a base class so I can use it with other VectorPPs refs #3087
add SideValueSampler refs #3087