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/device.h b/device.h
index d710619..afa900d 100644
--- a/device.h
+++ b/device.h
@@ -32,8 +32,9 @@
 class EventDispatcher;
 class Manager;
 class Metrics;
-class RTNLHandler;
 class ReturnerInterface;
+class RoutingTable;
+class RTNLHandler;
 
 // Device superclass.  Individual network interfaces types will inherit from
 // this class.
@@ -270,6 +271,7 @@
 
   // Cache singleton pointers for performance and test purposes.
   DHCPProvider *dhcp_provider_;
+  RoutingTable *routing_table_;
   RTNLHandler *rtnl_handler_;
 
   DISALLOW_COPY_AND_ASSIGN(Device);