Make SymlinkTree use AbstractBuildRule
Make SymlinkTree use AbstractBuildRule

Summary:
SymlinkTree did not extend AbstractBuildRule when it could do so.
Almost all our BuildRule extend AbstractBuildRule, so this will add some consistency to BuildRules, as well as remove duplicate code.

Test Plan: unit test, built some cpp projects and still works

Reviewed By: styurin

fbshipit-source-id: 0f74172

LegNeato/buck,shs96c/buck,clonetwin26/buck,kageiit/buck,Addepar/buck,romanoid/buck,JoelMarcey/buck,zpao/buck,SeleniumHQ/buck,kageiit/buck,facebook/buck,rmaz/buck,brettwooldridge/buck,romanoid/buck,SeleniumHQ/buck,LegNeato/buck,rmaz/buck,brettwooldridge/buck,zpao/buck,brettwooldridge/buck,LegNeato/buck,clonetwin26/buck,brettwooldridge/buck,SeleniumHQ/buck,Addepar/buck,facebook/buck,JoelMarcey/buck,clonetwin26/buck,zpao/buck,LegNeato/buck,romanoid/buck,zpao/buck,brettwooldridge/buck,SeleniumHQ/buck,romanoid/buck,nguyentruongtho/buck,zpao/buck,LegNeato/buck,shs96c/buck,JoelMarcey/buck,shs96c/buck,rmaz/buck,SeleniumHQ/buck,Addepar/buck,kageiit/buck,SeleniumHQ/buck,brettwooldridge/buck,shs96c/buck,romanoid/buck,romanoid/buck,romanoid/buck,clonetwin26/buck,brettwooldridge/buck,JoelMarcey/buck,Addepar/buck,kageiit/buck,facebook/buck,romanoid/buck,shs96c/buck,brettwooldridge/buck,nguyentruongtho/buck,brettwooldridge/buck,Addepar/buck,kageiit/buck,Addepar/buck,clonetwin26/buck,shs96c/buck,LegNeato/buck,romanoid/buck,brettwooldridge/buck,JoelMarcey/buck,SeleniumHQ/buck,clonetwin26/buck,Addepar/buck,brettwooldridge/buck,JoelMarcey/buck,facebook/buck,JoelMarcey/buck,romanoid/buck,LegNeato/buck,shs96c/buck,SeleniumHQ/buck,rmaz/buck,shs96c/buck,zpao/buck,clonetwin26/buck,rmaz/buck,shs96c/buck,nguyentruongtho/buck,rmaz/buck,LegNeato/buck,rmaz/buck,LegNeato/buck,nguyentruongtho/buck,clonetwin26/buck,rmaz/buck,Addepar/buck,clonetwin26/buck,kageiit/buck,rmaz/buck,SeleniumHQ/buck,shs96c/buck,clonetwin26/buck,nguyentruongtho/buck,rmaz/buck,Addepar/buck,JoelMarcey/buck,brettwooldridge/buck,JoelMarcey/buck,facebook/buck,Addepar/buck,LegNeato/buck,shs96c/buck,rmaz/buck,kageiit/buck,LegNeato/buck,facebook/buck,JoelMarcey/buck,romanoid/buck,JoelMarcey/buck,LegNeato/buck,Addepar/buck,facebook/buck,nguyentruongtho/buck,rmaz/buck,LegNeato/buck,SeleniumHQ/buck,zpao/buck,SeleniumHQ/buck,clonetwin26/buck,Addepar/buck,brettwooldridge/buck,SeleniumHQ/buck,JoelMarcey/buck,Addepar/buck,rmaz/buck,clonetwin26/buck,SeleniumHQ/buck,romanoid/buck,clonetwin26/buck,shs96c/buck,JoelMarcey/buck,shs96c/buck,nguyentruongtho/buck,romanoid/buck