Add support for bounds to ParameterBlock. Add setters and getters for lower and upper bounds. Generalize the Plus operation to include projection onto the hypercube implied by the bounds. Change-Id: I1e4028a9886c4064f31bbc5b7c22b0341a56c15d