1) Does hash power refers to mining nodes only?
Exactly. Other nodes just make sure everything's OK, or they don't relay it.
2) We don't know how many nodes there are on the bitcoin network, correct? How do we count them?
We can only count public nodes, but still, there are nonlistening nodes, nodes on the same IP, etc. So it not 100% accurate.
3) Would we need to know  in order to figure out what the actual hashing power of the network is?
Nope. We can calculate the total hashpower in two ways:
1) Visit each pool's website and add the hashing power. This method requires trust. On the contrary, it's accurate in practice.
2) Make an estimation using the network difficulty and the time between blocks. It's not very accurate.
4) What are the units of hashing power?
- 1: Hash/second: H/s <---Hand-scale
- 1000000: Megahash/second: MH/s
- 1000000000: Gigahash/second: GH/s
- 1000000000000: Terahash/second: TH/s <---ASIC-scale
- 1000000000000000: Petahash/second: PH/s
- 1000000000000000000: Exahash/second: EH/s <---World-scale