[shill] Use ref-counted pointers more, break unneeded header deps

1) Replace more bare pointers with ref-counted pointers.
2) Move declarations of *RefPtr into a header file with fwd-declared classes
3) Make class headers include that, move inclusion of real headers to .cc files.

BUG=None
TEST=unit tests

Change-Id: I8208c82377c6dbefe6903561a503b8db63f063d6
Reviewed-on: http://gerrit.chromium.org/gerrit/3177
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/cellular.cc b/cellular.cc
index 631c008..8740103 100644
--- a/cellular.cc
+++ b/cellular.cc
@@ -68,7 +68,7 @@
 }
 
 void Cellular::Stop() {
-  manager_->DeregisterService(service_.get());
+  manager_->DeregisterService(service_);
   Device::Stop();
 }