Creates an Examiner which scans the given +source+ for code smells. @param source [File, IO, String] If +source+ is a String it is assumed to be Ruby source code; if it is a File or IO, it is opened and Ruby source code is read from it; @param filter_by_smells [Array<String>] List of smell types to filter by, e.g. "DuplicateMethodCall". @param configuration [Configuration::AppConfiguration] The configuration for this Examiner. @public