polygons directive

@cthrax @zacronos @aesnyder @gitnik @kandizzy 
This is pending the merge of issue #918 , so the amount of changes should drop significantly once it is merged.
this is literally a copy paste of PolylinesParentModel with the factories swapped out. So in reality this can become a base class/ low level factory with different different services injected into it to provide the same behavior with less code.