Add Override Option, Trim Options, Function Splits and Documentation

- Override option implemented. Now if this option is set to true, the
user-defined types will take over the pre-defined types of the same
name. If set to false, then the pre-defined types has precedence over
user-defined types (providing force is set to true).
- Trim option implemented. Given a trim option, each offending line will
be formatted and output as such. Ex: an option of 'all' will remove all
whitespaces from the line. The default trim is 'trailing', which removes
all whitespace from the beginning and end of the line.
- Split the OffendingFileDataAssembler object functions for clarity.
- Some additional documentation inserted.