Fix docstring for dbt docs generate
### Describe the bug
The docstring for dbt docs seems to indicate that if you want to use a different target, you would put the `--target` parameter before generate:
```
# dbt docs -h
usage: dbt docs [-h] [--project-dir PROJECT_DIR] [--profiles-dir PROFILES_DIR] [--profile PROFILE] [--target TARGET] [--vars VARS] [--bypass-cache] {generate,serve} ...
```
However, when I try that, it doesn't honor the parameter
```
# dbt docs --target prod generate
Running with dbt=0.14.3
Found 125 models, 207 tests, 15 snapshots, 0 analyses, 254 macros, 2 operations, 3 seed files, 101 sources
19:31:38 | Concurrency: 4 threads (target='dev')
```

However, if I put the flag at the end like this, it works fine:
```
# dbt docs generate --target prod
```

### Steps To Reproduce
See above

### Expected behavior
The docs should be in alignment with the actual commands.

### Screenshots and log output
See above

### System information
**Which database are you using dbt with?**
- [ ] postgres
- [x ] redshift
- [ ] bigquery
- [ ] snowflake
- [ ] other (specify: ____________)


**The output of `dbt --version`:**
```
installed version: 0.14.3
```

**The operating system you're using:** Debian GNU/Linux 10 (buster)

**The output of `python --version`:** 3.6.9

### Additional context


diff --git a/core/dbt/main.py b/core/dbt/main.py
index ac8562195..12fa3bb23 100644
--- a/core/dbt/main.py
+++ b/core/dbt/main.py
@@ -287,7 +287,6 @@ def _build_base_subparser():
 def _build_docs_subparser(subparsers, base_subparser):
     docs_sub = subparsers.add_parser(
         'docs',
-        parents=[base_subparser],
         help='''
         Generate or serve the documentation website for your project.
         '''
@@ -298,7 +297,6 @@ def _build_docs_subparser(subparsers, base_subparser):
 def _build_source_subparser(subparsers, base_subparser):
     source_sub = subparsers.add_parser(
         'source',
-        parents=[base_subparser],
         help='''
         Manage your project's sources
         ''',
@@ -884,7 +882,9 @@ def parse_args(args, cls=DBTArgumentParser):
         sys.exit(1)
 
     parsed = p.parse_args(args)
-    parsed.profiles_dir = os.path.expanduser(parsed.profiles_dir)
+
+    if hasattr(parsed, 'profiles_dir'):
+        parsed.profiles_dir = os.path.expanduser(parsed.profiles_dir)
 
     if not hasattr(parsed, 'which'):
         # the user did not provide a valid subcommand. trigger the help message
['core/dbt/main.py']