use the pipe character for targets with named rules

Summary:
When we add recursive modules, we're probably going to want to use the
dot character `.` for namespacing. (Colon is right out, because YAML uses
that.) We need something else to represent chaining named rules with a module.
@sean suggested pipe `|`. I like that one a lot, because it evokes shell
pipelining, instead of implying that one rule is a member of another or
something.

Old syntax:
```
imports:
    foo:bar: ./path/
```

New syntax:
```
imports:
    foo|bar: ./path/
```

Test Plan: Update integration tests.

Reviewers: sean

Subscribers: sean

Differential Revision: https://phabricator.buildinspace.com/D49