Mine functions can be given custom names, and repeated

I don't know if this implementation is naive, but I got tired of making custom modules that were really just wrappers for existing modules so that I could use them in the mine.

As an example, these changes would allow for a configuration like this:

```yaml
mine_functions:
  network.interfaces: []
  network.ip_addrs: [eth0]
  networkplus.internal_ip_addrs: []
  internal_ip_addrs:
    mine_function: network.ip_addrs
    cidr: 192.168.0.0/16
  loopback_ip_addrs:
    - mine_function: network.ip_addrs
    - lo
    - True
```

I chose the name `mine_function` as the key name, since it seemed like it would probably have a low likelihood of conflicting with any other module argument.