issue #308. 

Added an option not to append newline automatically when using a custom log formatter. 
Added this both to DDFileLogger and DDTTYLogger since there is no common superclass of just these 2. These change does not make sense for asl logger or any db loggers probably. 
The default value for this feature is to behave as previosly, so this should be backward compatible and not break any library clients that do not use this new behavior. 
I tried to merge these 2 <code>if</code>'s but imho it makes them less clear. Then I would have to check <code>![logMsg hasSuffix:@"\n"]</code> in both clauses of the OR statement in the upper <code>if</code>. So then it would look like:<br/> 
<pre>
if (isFormatted && _automaticallyAppendNewlineForCustomFormatters && ![logMsg hasSuffix:@"\n"] || !isFormatted && ![logMsg hasSuffix:@"\n"]) 
{
       logMsg = [logMsg stringByAppendingString:@"\n"];
}
</pre> 
Imho it's less clear and repeats one statement twice but I can have it that way if you prefer. 

I tried also to think how to optimize this but I'm afraid I do not see how we could not check these 3 conditions: 
<code>isFormatted</code>, <code>_automaticallyAppendNewlineForCustomFormatters</code> and <code>![logMsg hasSuffix:@"\n"]</code>

Please note that in the most standard case we'll have: 
<code>isFormatted = YES</code> because by default there's a standard formatter for this logger
<code>_automaticallyAppendNewlineForCustomFormatters = YES</code> because that's how the flag is set for backward compatibility
<code>![logMsg hasSuffix:@"\n"] = YES</code> because normally people using this framework do not add '\n' to their log output. 

I'm afraid I do not see any clear way to do a kind of short circuit here because I need to do an AND of these 3 condions and most of the time each of them is equal to YES. So the && will not short circuit most of the time. 

I tried to apprach that problem in another manner and did a truth table minimalization but it ends up the same as my code: 

<pre>

isFormatter(x)		_automatically...(y)		hasSuffix(z)	should append '\n'
       0			     0						   0			   1
	   0				 0						   1			   0
       0			     1						   0			   1
	   0				 1						   1			   0
       1			     0						   0			   0
	   1				 0						   1			   0
       1			     1						   0			   1
	   1				 1						   1			   0
</pre>

which gives us an expression ~x ~y ~z + ~x y ~z + x y ~z which minimizes to either:</br>
(xy + ~x) * ~z or (~x ~y + y) ~z the first of which I had in my original if statements. 

So please advise me how you'd like this to be corrected and I'll be glad to incorporate your suggestions.