Do not use singleton for mock objects

Android complains about memory leakage when using singleton
for mock objects, and it is not really necessary to use
singleton for mock objects either.  So remove the singleton
from those objects.

While there, update the binary path for "sleep" on Android,
which is used for starting a dummy process in the test.

Bug: 25186794
TEST=Run apmanager_test on Brillo board
TEST=Run unittests for Chrome OS

Change-Id: Ifb5a5c6876aa67a94411d823109c14a209a46d86
diff --git a/mock_dhcp_server_factory.h b/mock_dhcp_server_factory.h
index 5475239..42eaa5b 100644
--- a/mock_dhcp_server_factory.h
+++ b/mock_dhcp_server_factory.h
@@ -19,7 +19,6 @@
 
 #include <string>
 
-#include <base/lazy_instance.h>
 #include <gmock/gmock.h>
 
 #include "apmanager/dhcp_server_factory.h"
@@ -28,21 +27,14 @@
 
 class MockDHCPServerFactory : public DHCPServerFactory {
  public:
+  MockDHCPServerFactory();
   ~MockDHCPServerFactory() override;
 
-  // This is a singleton. Use MockDHCPServerFactory::GetInstance()->Foo().
-  static MockDHCPServerFactory* GetInstance();
-
   MOCK_METHOD2(CreateDHCPServer,
                DHCPServer*(uint16_t server_address_index,
                            const std::string& interface_name));
 
- protected:
-  MockDHCPServerFactory();
-
  private:
-  friend struct base::DefaultLazyInstanceTraits<MockDHCPServerFactory>;
-
   DISALLOW_COPY_AND_ASSIGN(MockDHCPServerFactory);
 };