compat: backport netdev_set_default_ethtool_ops()

This is a slightly modified version of 8cfb6. The linux-3.7.y
branch has no compat-3.8.[ch] files so we create them as we
have a fix expected to come in via 3.7.5 that we'd only get
compiled in on 3.7 kernels by using these 3.8 files.

Upstream commit 8cfb63fa4149a503158ef2f87d5722d8e9f56fb2

Stanislaw found that due to commit 2c60db03 by Eric Dumazet
the wireless core was not assigning driver specific ethtool_ops.
This was fixed by Stanislaw's commit d07d7507 which added
netdev_set_default_ethtool_ops(). Since Eric's commit 2c60db03
is on v3.7-rc1 Stanislaw's fix is required down to v3.7 as well.
The d07d7507 commit is currently present on v3.8-rc4 and is on
its way to what we think may be v3.7.5. Because of this kernels
older than v3.7.5 will require the full implementation while
older kernels than v3.7.0 will require just assigning the ops
passed only if netdev has no ops already set just as we used
to have it implemented on cfg80211.

mcgrof@frijol ~/linux-stable (git::linux-3.8.y)$ git describe --contains 2c60db
v3.7-rc1~145^2~142

mcgrof@frijol ~/linux-stable (git::linux-3.8.y)$ git describe --contains d07d75
v3.8-rc4~29^2~4
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>