Make fi_info a little more general:

./simple/fi_info -h
usage: ./simple/fi_info
  -n, --node=NAME               node name or address
  -p, --port=PNUM               port number
  -c, --caps=CAP1|CAP2..        one or more capabilities: FI_MSG|FI_RMA...
  -m, --mode=MOD1|MOD2..        one or more modes, default all modes
  -e, --ep_type=EPTYPE          specify single endpoint type: FI_EP_MSG, FI_EP_DGRAM...

Use like:

$ # display proivders' fi_info structure which match criteria:
$ fi_info -e FI_EP_MSG -c "FI_MSG|FI_RMA"
...
I don't feel too strongly about the hints/node/port move. I wanted them declared closer to their use and explicitly initialized to NULLs.

I was going to go through and put some things in shared.c, but that is a separate patch.