shill: Delete existing routes when the device is started.

BUG=chromium-os:27358
TEST=Unit tests, network_WiFiManager, manually add foreign routes and
ensure they are deleted, also test to make sure default route remains
after DHCP renewal

Change-Id: Ic26b70d685491f31699ff4684ed289e76af8a9ca
Reviewed-on: https://gerrit.chromium.org/gerrit/17640
Commit-Ready: Thieu Le <thieule@chromium.org>
Reviewed-by: Thieu Le <thieule@chromium.org>
Tested-by: Thieu Le <thieule@chromium.org>
diff --git a/shill_daemon.h b/shill_daemon.h
index c0ff1cb..76737bc 100644
--- a/shill_daemon.h
+++ b/shill_daemon.h
@@ -7,6 +7,8 @@
 
 #include <string>
 
+#include <base/memory/scoped_ptr.h>
+
 #include "shill/event_dispatcher.h"
 #include "shill/glib.h"
 #include "shill/manager.h"
@@ -17,7 +19,11 @@
 
 class Config;
 class ControlInterface;
+class DHCPProvider;
 class GLib;
+class ProxyFactory;
+class RoutingTable;
+class RTNLHandler;
 
 class Daemon {
  public:
@@ -40,7 +46,11 @@
   Config *config_;
   ControlInterface *control_;
   Metrics metrics_;
-  Manager manager_;
+  ProxyFactory *proxy_factory_;
+  RTNLHandler *rtnl_handler_;
+  RoutingTable *routing_table_;
+  DHCPProvider *dhcp_provider_;
+  scoped_ptr<Manager> manager_;
   EventDispatcher dispatcher_;
   Sockets sockets_;
   GLib glib_;