User switchable spaces

Added the ability for the user to specify whether they want spaces to be inserted before their output or after their output.

For compatibility it will default to putting them before their output.