Add extension overload

Added overloads for the SmartFormatter.AddExtensions function to accept explicitly ISource or IFormatter instead of a mixture of both. Marked the old method SmartFormatter.AddExtensions(params object) as obsolete and removed all usages.

reference to #17