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/common.pb.go b/go/common/common.pb.go
index 169cd74..ce8acf9 100644
--- a/go/common/common.pb.go
+++ b/go/common/common.pb.go
@@ -1,11 +1,13 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: voltha_protos/common.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 (
+	fmt "fmt"
+	proto "github.com/golang/protobuf/proto"
+	math "math"
+)
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -16,7 +18,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 TestModeKeys int32
 
@@ -27,6 +29,7 @@
 var TestModeKeys_name = map[int32]string{
 	0: "api_test",
 }
+
 var TestModeKeys_value = map[string]int32{
 	"api_test": 0,
 }
@@ -34,8 +37,9 @@
 func (x TestModeKeys) String() string {
 	return proto.EnumName(TestModeKeys_name, int32(x))
 }
+
 func (TestModeKeys) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_common_87dc80f46ec1fd6b, []int{0}
+	return fileDescriptor_c2e3fd231961e826, []int{0}
 }
 
 // Logging verbosity level
@@ -58,6 +62,7 @@
 	4: "CRITICAL",
 	5: "FATAL",
 }
+
 var LogLevel_LogLevel_value = map[string]int32{
 	"DEBUG":    0,
 	"INFO":     1,
@@ -70,8 +75,9 @@
 func (x LogLevel_LogLevel) String() string {
 	return proto.EnumName(LogLevel_LogLevel_name, int32(x))
 }
+
 func (LogLevel_LogLevel) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_common_87dc80f46ec1fd6b, []int{2, 0}
+	return fileDescriptor_c2e3fd231961e826, []int{2, 0}
 }
 
 // Administrative State
@@ -101,6 +107,7 @@
 	4: "DOWNLOADING_IMAGE",
 	5: "DELETED",
 }
+
 var AdminState_AdminState_value = map[string]int32{
 	"UNKNOWN":           0,
 	"PREPROVISIONED":    1,
@@ -113,8 +120,9 @@
 func (x AdminState_AdminState) String() string {
 	return proto.EnumName(AdminState_AdminState_name, int32(x))
 }
+
 func (AdminState_AdminState) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_common_87dc80f46ec1fd6b, []int{3, 0}
+	return fileDescriptor_c2e3fd231961e826, []int{3, 0}
 }
 
 // Operational Status
@@ -143,6 +151,7 @@
 	4: "ACTIVE",
 	5: "FAILED",
 }
+
 var OperStatus_OperStatus_value = map[string]int32{
 	"UNKNOWN":    0,
 	"DISCOVERED": 1,
@@ -155,8 +164,9 @@
 func (x OperStatus_OperStatus) String() string {
 	return proto.EnumName(OperStatus_OperStatus_name, int32(x))
 }
+
 func (OperStatus_OperStatus) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_common_87dc80f46ec1fd6b, []int{4, 0}
+	return fileDescriptor_c2e3fd231961e826, []int{4, 0}
 }
 
 // Connectivity Status
@@ -176,6 +186,7 @@
 	1: "UNREACHABLE",
 	2: "REACHABLE",
 }
+
 var ConnectStatus_ConnectStatus_value = map[string]int32{
 	"UNKNOWN":     0,
 	"UNREACHABLE": 1,
@@ -185,8 +196,9 @@
 func (x ConnectStatus_ConnectStatus) String() string {
 	return proto.EnumName(ConnectStatus_ConnectStatus_name, int32(x))
 }
+
 func (ConnectStatus_ConnectStatus) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_common_87dc80f46ec1fd6b, []int{5, 0}
+	return fileDescriptor_c2e3fd231961e826, []int{5, 0}
 }
 
 type OperationResp_OperationReturnCode int32
@@ -202,6 +214,7 @@
 	1: "OPERATION_FAILURE",
 	2: "OPERATION_UNSUPPORTED",
 }
+
 var OperationResp_OperationReturnCode_value = map[string]int32{
 	"OPERATION_SUCCESS":     0,
 	"OPERATION_FAILURE":     1,
@@ -211,8 +224,9 @@
 func (x OperationResp_OperationReturnCode) String() string {
 	return proto.EnumName(OperationResp_OperationReturnCode_name, int32(x))
 }
+
 func (OperationResp_OperationReturnCode) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_common_87dc80f46ec1fd6b, []int{6, 0}
+	return fileDescriptor_c2e3fd231961e826, []int{6, 0}
 }
 
 // Convey a resource identifier
@@ -227,16 +241,17 @@
 func (m *ID) String() string { return proto.CompactTextString(m) }
 func (*ID) ProtoMessage()    {}
 func (*ID) Descriptor() ([]byte, []int) {
-	return fileDescriptor_common_87dc80f46ec1fd6b, []int{0}
+	return fileDescriptor_c2e3fd231961e826, []int{0}
 }
+
 func (m *ID) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ID.Unmarshal(m, b)
 }
 func (m *ID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_ID.Marshal(b, m, deterministic)
 }
-func (dst *ID) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ID.Merge(dst, src)
+func (m *ID) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ID.Merge(m, src)
 }
 func (m *ID) XXX_Size() int {
 	return xxx_messageInfo_ID.Size(m)
@@ -266,16 +281,17 @@
 func (m *IDs) String() string { return proto.CompactTextString(m) }
 func (*IDs) ProtoMessage()    {}
 func (*IDs) Descriptor() ([]byte, []int) {
-	return fileDescriptor_common_87dc80f46ec1fd6b, []int{1}
+	return fileDescriptor_c2e3fd231961e826, []int{1}
 }
+
 func (m *IDs) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_IDs.Unmarshal(m, b)
 }
 func (m *IDs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_IDs.Marshal(b, m, deterministic)
 }
-func (dst *IDs) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_IDs.Merge(dst, src)
+func (m *IDs) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_IDs.Merge(m, src)
 }
 func (m *IDs) XXX_Size() int {
 	return xxx_messageInfo_IDs.Size(m)
@@ -303,16 +319,17 @@
 func (m *LogLevel) String() string { return proto.CompactTextString(m) }
 func (*LogLevel) ProtoMessage()    {}
 func (*LogLevel) Descriptor() ([]byte, []int) {
-	return fileDescriptor_common_87dc80f46ec1fd6b, []int{2}
+	return fileDescriptor_c2e3fd231961e826, []int{2}
 }
+
 func (m *LogLevel) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_LogLevel.Unmarshal(m, b)
 }
 func (m *LogLevel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_LogLevel.Marshal(b, m, deterministic)
 }
-func (dst *LogLevel) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_LogLevel.Merge(dst, src)
+func (m *LogLevel) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_LogLevel.Merge(m, src)
 }
 func (m *LogLevel) XXX_Size() int {
 	return xxx_messageInfo_LogLevel.Size(m)
@@ -333,16 +350,17 @@
 func (m *AdminState) String() string { return proto.CompactTextString(m) }
 func (*AdminState) ProtoMessage()    {}
 func (*AdminState) Descriptor() ([]byte, []int) {
-	return fileDescriptor_common_87dc80f46ec1fd6b, []int{3}
+	return fileDescriptor_c2e3fd231961e826, []int{3}
 }
+
 func (m *AdminState) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AdminState.Unmarshal(m, b)
 }
 func (m *AdminState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_AdminState.Marshal(b, m, deterministic)
 }
-func (dst *AdminState) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AdminState.Merge(dst, src)
+func (m *AdminState) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AdminState.Merge(m, src)
 }
 func (m *AdminState) XXX_Size() int {
 	return xxx_messageInfo_AdminState.Size(m)
@@ -363,16 +381,17 @@
 func (m *OperStatus) String() string { return proto.CompactTextString(m) }
 func (*OperStatus) ProtoMessage()    {}
 func (*OperStatus) Descriptor() ([]byte, []int) {
-	return fileDescriptor_common_87dc80f46ec1fd6b, []int{4}
+	return fileDescriptor_c2e3fd231961e826, []int{4}
 }
+
 func (m *OperStatus) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_OperStatus.Unmarshal(m, b)
 }
 func (m *OperStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_OperStatus.Marshal(b, m, deterministic)
 }
-func (dst *OperStatus) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_OperStatus.Merge(dst, src)
+func (m *OperStatus) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OperStatus.Merge(m, src)
 }
 func (m *OperStatus) XXX_Size() int {
 	return xxx_messageInfo_OperStatus.Size(m)
@@ -393,16 +412,17 @@
 func (m *ConnectStatus) String() string { return proto.CompactTextString(m) }
 func (*ConnectStatus) ProtoMessage()    {}
 func (*ConnectStatus) Descriptor() ([]byte, []int) {
-	return fileDescriptor_common_87dc80f46ec1fd6b, []int{5}
+	return fileDescriptor_c2e3fd231961e826, []int{5}
 }
+
 func (m *ConnectStatus) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ConnectStatus.Unmarshal(m, b)
 }
 func (m *ConnectStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_ConnectStatus.Marshal(b, m, deterministic)
 }
-func (dst *ConnectStatus) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ConnectStatus.Merge(dst, src)
+func (m *ConnectStatus) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ConnectStatus.Merge(m, src)
 }
 func (m *ConnectStatus) XXX_Size() int {
 	return xxx_messageInfo_ConnectStatus.Size(m)
@@ -427,16 +447,17 @@
 func (m *OperationResp) String() string { return proto.CompactTextString(m) }
 func (*OperationResp) ProtoMessage()    {}
 func (*OperationResp) Descriptor() ([]byte, []int) {
-	return fileDescriptor_common_87dc80f46ec1fd6b, []int{6}
+	return fileDescriptor_c2e3fd231961e826, []int{6}
 }
+
 func (m *OperationResp) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_OperationResp.Unmarshal(m, b)
 }
 func (m *OperationResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_OperationResp.Marshal(b, m, deterministic)
 }
-func (dst *OperationResp) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_OperationResp.Merge(dst, src)
+func (m *OperationResp) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OperationResp.Merge(m, src)
 }
 func (m *OperationResp) XXX_Size() int {
 	return xxx_messageInfo_OperationResp.Size(m)
@@ -462,6 +483,12 @@
 }
 
 func init() {
+	proto.RegisterEnum("voltha.TestModeKeys", TestModeKeys_name, TestModeKeys_value)
+	proto.RegisterEnum("voltha.LogLevel_LogLevel", LogLevel_LogLevel_name, LogLevel_LogLevel_value)
+	proto.RegisterEnum("voltha.AdminState_AdminState", AdminState_AdminState_name, AdminState_AdminState_value)
+	proto.RegisterEnum("voltha.OperStatus_OperStatus", OperStatus_OperStatus_name, OperStatus_OperStatus_value)
+	proto.RegisterEnum("voltha.ConnectStatus_ConnectStatus", ConnectStatus_ConnectStatus_name, ConnectStatus_ConnectStatus_value)
+	proto.RegisterEnum("voltha.OperationResp_OperationReturnCode", OperationResp_OperationReturnCode_name, OperationResp_OperationReturnCode_value)
 	proto.RegisterType((*ID)(nil), "voltha.ID")
 	proto.RegisterType((*IDs)(nil), "voltha.IDs")
 	proto.RegisterType((*LogLevel)(nil), "voltha.LogLevel")
@@ -469,17 +496,11 @@
 	proto.RegisterType((*OperStatus)(nil), "voltha.OperStatus")
 	proto.RegisterType((*ConnectStatus)(nil), "voltha.ConnectStatus")
 	proto.RegisterType((*OperationResp)(nil), "voltha.OperationResp")
-	proto.RegisterEnum("voltha.TestModeKeys", TestModeKeys_name, TestModeKeys_value)
-	proto.RegisterEnum("voltha.LogLevel_LogLevel", LogLevel_LogLevel_name, LogLevel_LogLevel_value)
-	proto.RegisterEnum("voltha.AdminState_AdminState", AdminState_AdminState_name, AdminState_AdminState_value)
-	proto.RegisterEnum("voltha.OperStatus_OperStatus", OperStatus_OperStatus_name, OperStatus_OperStatus_value)
-	proto.RegisterEnum("voltha.ConnectStatus_ConnectStatus", ConnectStatus_ConnectStatus_name, ConnectStatus_ConnectStatus_value)
-	proto.RegisterEnum("voltha.OperationResp_OperationReturnCode", OperationResp_OperationReturnCode_name, OperationResp_OperationReturnCode_value)
 }
 
-func init() { proto.RegisterFile("voltha_protos/common.proto", fileDescriptor_common_87dc80f46ec1fd6b) }
+func init() { proto.RegisterFile("voltha_protos/common.proto", fileDescriptor_c2e3fd231961e826) }
 
-var fileDescriptor_common_87dc80f46ec1fd6b = []byte{
+var fileDescriptor_c2e3fd231961e826 = []byte{
 	// 564 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x53, 0x5f, 0x4f, 0xdb, 0x3e,
 	0x14, 0x6d, 0xd2, 0x3f, 0xc0, 0x2d, 0x94, 0xfc, 0xfc, 0x1b, 0x12, 0x43, 0x9b, 0x54, 0xe5, 0x05,