pid: zone split out builders

To enable unit-testing, split the builders into their own
object files.

Tested: Ran on quanta-q71l board and it behaved as expected.

Change-Id: I92168ec9ae4946d12328e9c0b94a36bb89d0f718
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/pid/controller.hpp b/pid/controller.hpp
index 0b1de3c..d02f9cc 100644
--- a/pid/controller.hpp
+++ b/pid/controller.hpp
@@ -15,7 +15,7 @@
 class PIDController
 {
     public:
-        PIDController(const std::string& id, std::shared_ptr<PIDZone> owner)
+        PIDController(const std::string& id, PIDZone* owner)
             : _owner(owner),
               _id(id)
         { }
@@ -47,7 +47,7 @@
         }
 
     protected:
-        std::shared_ptr<PIDZone> _owner;
+        PIDZone* _owner;
 
     private:
         // parameters