Add ability to center cubes only on selected axes.

For example, you can say:
```
  cube(5, center=[true, true, false]);
```
to center the cube on the X and Y axes, but not the Z axis.

You can still use:
```
  cube(5, center=true);
```
to center on X, Y and Z.

Also works for squares.  In theory cylinders can use the format, but only the Z axis matters in keeping with the original functionality.

Testing done:
Manual tests on cube and cylinder.
New test case in cube-tests.