decouple error and tick

@Sirupsen -- @DrewMartin originally wanted `#error` to implicitly call `#tick` so when an error occurred we wouldn't forget to increment the tick count and cause estimated completion times to be skewed.

However, we're now working on a maintenance task base class that will `ensure progress.tick`, so I want to decouple these. Another reason to do this is when you fail a batch, you may want to increase the count by e.g. 1000, but the error count by 1... or a scenario where you want to log several errors for the same record.

Anyway, there are reasons we'd want to increase these two values by different amounts; you cool with that?