VOL-1460 Implemented a new approach to protos where go stubs are not committed to the repo.
There are new instructions for clients consuming these protos in Go.
Also removed vendor directory and dep, as it isn't really needed at this point.

Implemented a test to check if protos match up with go files. This is run with make test.
This works by generating them and checking this created any more untracked or unstaged changes.
It requires you to commit your changes locally to pass. This process to should be run by
jenkins to validate a commit. A consistent version of protoc must be used, which the Makefile checks for.

Change-Id: I8de28c515a9535e33909cbbd158fa046f96f3b1f
diff --git a/go/common/yang_options.pb.go b/go/common/yang_options.pb.go
index dcd1e35..9d6ee66 100644
--- a/go/common/yang_options.pb.go
+++ b/go/common/yang_options.pb.go
@@ -1,12 +1,14 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: voltha_protos/yang_options.proto
 
-package common // import "github.com/opencord/voltha-protos/go/common"
+package common
 
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-import descriptor "github.com/golang/protobuf/protoc-gen-go/descriptor"
+import (
+	fmt "fmt"
+	proto "github.com/golang/protobuf/proto"
+	descriptor "github.com/golang/protobuf/protoc-gen-go/descriptor"
+	math "math"
+)
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -17,7 +19,7 @@
 // is compatible with the proto package it is being compiled against.
 // A compilation error at this line likely means your copy of the
 // proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
 
 type MessageParserOption int32
 
@@ -35,6 +37,7 @@
 	0: "MOVE_TO_PARENT_LEVEL",
 	1: "CREATE_BOTH_GROUPING_AND_CONTAINER",
 }
+
 var MessageParserOption_value = map[string]int32{
 	"MOVE_TO_PARENT_LEVEL":               0,
 	"CREATE_BOTH_GROUPING_AND_CONTAINER": 1,
@@ -43,8 +46,9 @@
 func (x MessageParserOption) String() string {
 	return proto.EnumName(MessageParserOption_name, int32(x))
 }
+
 func (MessageParserOption) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_yang_options_40f3be6d35d15307, []int{0}
+	return fileDescriptor_e6be2fba65eb89fb, []int{0}
 }
 
 type InlineNode struct {
@@ -59,16 +63,17 @@
 func (m *InlineNode) String() string { return proto.CompactTextString(m) }
 func (*InlineNode) ProtoMessage()    {}
 func (*InlineNode) Descriptor() ([]byte, []int) {
-	return fileDescriptor_yang_options_40f3be6d35d15307, []int{0}
+	return fileDescriptor_e6be2fba65eb89fb, []int{0}
 }
+
 func (m *InlineNode) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_InlineNode.Unmarshal(m, b)
 }
 func (m *InlineNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_InlineNode.Marshal(b, m, deterministic)
 }
-func (dst *InlineNode) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_InlineNode.Merge(dst, src)
+func (m *InlineNode) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_InlineNode.Merge(m, src)
 }
 func (m *InlineNode) XXX_Size() int {
 	return xxx_messageInfo_InlineNode.Size(m)
@@ -115,16 +120,17 @@
 func (m *RpcReturnDef) String() string { return proto.CompactTextString(m) }
 func (*RpcReturnDef) ProtoMessage()    {}
 func (*RpcReturnDef) Descriptor() ([]byte, []int) {
-	return fileDescriptor_yang_options_40f3be6d35d15307, []int{1}
+	return fileDescriptor_e6be2fba65eb89fb, []int{1}
 }
+
 func (m *RpcReturnDef) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RpcReturnDef.Unmarshal(m, b)
 }
 func (m *RpcReturnDef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_RpcReturnDef.Marshal(b, m, deterministic)
 }
-func (dst *RpcReturnDef) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_RpcReturnDef.Merge(dst, src)
+func (m *RpcReturnDef) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_RpcReturnDef.Merge(m, src)
 }
 func (m *RpcReturnDef) XXX_Size() int {
 	return xxx_messageInfo_RpcReturnDef.Size(m)
@@ -154,7 +160,7 @@
 	ExtensionType: (*MessageParserOption)(nil),
 	Field:         7761774,
 	Name:          "voltha.yang_child_rule",
-	Tag:           "varint,7761774,opt,name=yang_child_rule,json=yangChildRule,enum=voltha.MessageParserOption",
+	Tag:           "varint,7761774,opt,name=yang_child_rule,enum=voltha.MessageParserOption",
 	Filename:      "voltha_protos/yang_options.proto",
 }
 
@@ -163,7 +169,7 @@
 	ExtensionType: (*MessageParserOption)(nil),
 	Field:         7761775,
 	Name:          "voltha.yang_message_rule",
-	Tag:           "varint,7761775,opt,name=yang_message_rule,json=yangMessageRule,enum=voltha.MessageParserOption",
+	Tag:           "varint,7761775,opt,name=yang_message_rule,enum=voltha.MessageParserOption",
 	Filename:      "voltha_protos/yang_options.proto",
 }
 
@@ -172,7 +178,7 @@
 	ExtensionType: (*InlineNode)(nil),
 	Field:         7761776,
 	Name:          "voltha.yang_inline_node",
-	Tag:           "bytes,7761776,opt,name=yang_inline_node,json=yangInlineNode",
+	Tag:           "bytes,7761776,opt,name=yang_inline_node",
 	Filename:      "voltha_protos/yang_options.proto",
 }
 
@@ -181,25 +187,23 @@
 	ExtensionType: (*RpcReturnDef)(nil),
 	Field:         7761777,
 	Name:          "voltha.yang_xml_tag",
-	Tag:           "bytes,7761777,opt,name=yang_xml_tag,json=yangXmlTag",
+	Tag:           "bytes,7761777,opt,name=yang_xml_tag",
 	Filename:      "voltha_protos/yang_options.proto",
 }
 
 func init() {
+	proto.RegisterEnum("voltha.MessageParserOption", MessageParserOption_name, MessageParserOption_value)
 	proto.RegisterType((*InlineNode)(nil), "voltha.InlineNode")
 	proto.RegisterType((*RpcReturnDef)(nil), "voltha.RpcReturnDef")
-	proto.RegisterEnum("voltha.MessageParserOption", MessageParserOption_name, MessageParserOption_value)
 	proto.RegisterExtension(E_YangChildRule)
 	proto.RegisterExtension(E_YangMessageRule)
 	proto.RegisterExtension(E_YangInlineNode)
 	proto.RegisterExtension(E_YangXmlTag)
 }
 
-func init() {
-	proto.RegisterFile("voltha_protos/yang_options.proto", fileDescriptor_yang_options_40f3be6d35d15307)
-}
+func init() { proto.RegisterFile("voltha_protos/yang_options.proto", fileDescriptor_e6be2fba65eb89fb) }
 
-var fileDescriptor_yang_options_40f3be6d35d15307 = []byte{
+var fileDescriptor_e6be2fba65eb89fb = []byte{
 	// 452 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x4d, 0x6f, 0xd3, 0x30,
 	0x18, 0xc7, 0x69, 0x41, 0x45, 0x98, 0xad, 0x2b, 0x66, 0x12, 0x15, 0x08, 0xa8, 0x7a, 0x98, 0x26,