Issue title: arrow factory with default values
 Issue body: From time to time I build a freezed class, with different named constructors that preset specific values, that I don't want to have included in my main freezed class.
For this I use normal factorys that arrow to the default constructor.
example:

```dart

import 'package:simple_icons/simple_icons.dart';
import 'package:freezed_annotation/freezed_annotation.dart';

part 'testclass.freezed.dart';
@freezed
abstract class TestClass with _$TestClass {
  const factory TestClass({
    @required Icon icon,
  }) = _TestClass;


  factory TestClass.withSpecificColor({Color iconColor}) =>
      TestClass(icon: Icon(SimpleIcons.whatsapp, color: iconColor));
}
```
if I like to use the `@Default()` annotation in the TestClass.withSpecificColor, this does not fire.
Thus it would be great to improve the documentation for such "factory => default constructor" cases.

RN I solve it for example by using ternary operators.

```dart

  factory TestClass.withSpecificColor({Color iconColor}) =>
      TestClass(icon: Icon(SimpleIcons.whatsapp, color: iconColor ?? const Color(0xFF4267B2)));
```

 Comments: 
 Comment 0: Arrow factory behaves like normal dart constructors

Use default values as usual

```dart
Color iconColor = const Color(...)
```
 Comment 1: which was also my first guess. But there seems to be an issue using it like that.
Where the analyzer throws: 'The name 'Color' isn't a class.

![Screenshot from 2021-02-06 13-47-23](https://user-images.githubusercontent.com/77293597/107118533-eceda800-6881-11eb-93df-0d9f378fa20f.png)

see:
```dart
import 'package:flutter/material.dart';
import 'package:simple_icons/simple_icons.dart';
import 'package:freezed_annotation/freezed_annotation.dart';

part 'testclass.freezed.dart';

@freezed
abstract class TestClass with _$TestClass {
  const factory TestClass({
    @required Icon icon,
  }) = _TestClass;

  factory TestClass.withSpecificColor(
          {Color iconColor = const Color(0xFF25D366)}) =>
      TestClass(icon: Icon(SimpleIcons.whatsapp, color: iconColor));
}

```
 Comment 2: Ok, so I thought maybe that is a specific error with the Color type, so I checked with a more primitive type:

```dart
import 'package:flutter/material.dart';
import 'package:freezed_annotation/freezed_annotation.dart';

part 'testclass.freezed.dart';

@freezed
abstract class TestClass with _$TestClass {
  const factory TestClass({
    @required int number,
  }) = _TestClass;

  factory TestClass.withSpecificColor({int count = 2}) =>
      TestClass(number: count);
}
```

but this also wrecks the `.freezed.dart`
![Screenshot from 2021-02-06 13-55-01](https://user-images.githubusercontent.com/77293597/107118729-ec094600-6882-11eb-9147-755c999dce4f.png)

<details>
<summary>technical detail</summary>

```yaml
  freezed_annotation: ^0.12.0
  freezed: ^0.12.7
  build_runner: ^1.10.2
```
</details>

 Comment 3: I see it appears to be a bug

 Comment 4: @jlnrrg, we use `static` functions for similar "customized" constructors. 

```dart
import 'package:freezed_annotation/freezed_annotation.dart';
part 'testclass.freezed.dart';

@freezed
abstract class TestClass with _$TestClass {
  const factory TestClass({
    required int number,
  }) = _TestClass;

  // A static function that returns a "TestClass" - can also be a block of code
  static TestClass withSpecificColor({int count = 2}) => TestClass(number: count);
}
```

It's the same syntax to invoke a static function and a similar factory method (Dart 1 required `new` with factories).
```dart
final x = TestClass.withSpecificColor();
```

Would this work for you?

 Comment 5: It would indeed work too, but I feel hesitant to use a static method, when in fact I want to use factory :/
But maybe it helps someone else until the bug is fixed, so @rich-j thank you for sharing your approach nevertheless.
{'source': 'GithubIssues', 'repo_name_with_owner': 'rrousselGit/freezed', 'issue_id': 802678960, 'repo_stars': 1299.0}