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/voltha/logical_device.pb.go b/go/voltha/logical_device.pb.go
index 088d55c..bd435c5 100644
--- a/go/voltha/logical_device.pb.go
+++ b/go/voltha/logical_device.pb.go
@@ -1,14 +1,16 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: voltha_protos/logical_device.proto
 
-package voltha // import "github.com/opencord/voltha-protos/go/voltha"
+package voltha
 
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-import _ "github.com/opencord/voltha-protos/go/common"
-import openflow_13 "github.com/opencord/voltha-protos/go/openflow_13"
-import _ "google.golang.org/genproto/googleapis/api/annotations"
+import (
+	fmt "fmt"
+	proto "github.com/golang/protobuf/proto"
+	_ "github.com/opencord/voltha-protos/go/common"
+	openflow_13 "github.com/opencord/voltha-protos/go/openflow_13"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	math "math"
+)
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -19,7 +21,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 LogicalPortId struct {
 	// unique id of logical device
@@ -35,16 +37,17 @@
 func (m *LogicalPortId) String() string { return proto.CompactTextString(m) }
 func (*LogicalPortId) ProtoMessage()    {}
 func (*LogicalPortId) Descriptor() ([]byte, []int) {
-	return fileDescriptor_logical_device_eab9968d916b9ed2, []int{0}
+	return fileDescriptor_caf139ab3abc8240, []int{0}
 }
+
 func (m *LogicalPortId) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_LogicalPortId.Unmarshal(m, b)
 }
 func (m *LogicalPortId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_LogicalPortId.Marshal(b, m, deterministic)
 }
-func (dst *LogicalPortId) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_LogicalPortId.Merge(dst, src)
+func (m *LogicalPortId) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_LogicalPortId.Merge(m, src)
 }
 func (m *LogicalPortId) XXX_Size() int {
 	return xxx_messageInfo_LogicalPortId.Size(m)
@@ -85,16 +88,17 @@
 func (m *LogicalPort) String() string { return proto.CompactTextString(m) }
 func (*LogicalPort) ProtoMessage()    {}
 func (*LogicalPort) Descriptor() ([]byte, []int) {
-	return fileDescriptor_logical_device_eab9968d916b9ed2, []int{1}
+	return fileDescriptor_caf139ab3abc8240, []int{1}
 }
+
 func (m *LogicalPort) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_LogicalPort.Unmarshal(m, b)
 }
 func (m *LogicalPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_LogicalPort.Marshal(b, m, deterministic)
 }
-func (dst *LogicalPort) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_LogicalPort.Merge(dst, src)
+func (m *LogicalPort) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_LogicalPort.Merge(m, src)
 }
 func (m *LogicalPort) XXX_Size() int {
 	return xxx_messageInfo_LogicalPort.Size(m)
@@ -158,16 +162,17 @@
 func (m *LogicalPorts) String() string { return proto.CompactTextString(m) }
 func (*LogicalPorts) ProtoMessage()    {}
 func (*LogicalPorts) Descriptor() ([]byte, []int) {
-	return fileDescriptor_logical_device_eab9968d916b9ed2, []int{2}
+	return fileDescriptor_caf139ab3abc8240, []int{2}
 }
+
 func (m *LogicalPorts) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_LogicalPorts.Unmarshal(m, b)
 }
 func (m *LogicalPorts) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_LogicalPorts.Marshal(b, m, deterministic)
 }
-func (dst *LogicalPorts) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_LogicalPorts.Merge(dst, src)
+func (m *LogicalPorts) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_LogicalPorts.Merge(m, src)
 }
 func (m *LogicalPorts) XXX_Size() int {
 	return xxx_messageInfo_LogicalPorts.Size(m)
@@ -211,16 +216,17 @@
 func (m *LogicalDevice) String() string { return proto.CompactTextString(m) }
 func (*LogicalDevice) ProtoMessage()    {}
 func (*LogicalDevice) Descriptor() ([]byte, []int) {
-	return fileDescriptor_logical_device_eab9968d916b9ed2, []int{3}
+	return fileDescriptor_caf139ab3abc8240, []int{3}
 }
+
 func (m *LogicalDevice) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_LogicalDevice.Unmarshal(m, b)
 }
 func (m *LogicalDevice) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_LogicalDevice.Marshal(b, m, deterministic)
 }
-func (dst *LogicalDevice) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_LogicalDevice.Merge(dst, src)
+func (m *LogicalDevice) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_LogicalDevice.Merge(m, src)
 }
 func (m *LogicalDevice) XXX_Size() int {
 	return xxx_messageInfo_LogicalDevice.Size(m)
@@ -298,16 +304,17 @@
 func (m *LogicalDevices) String() string { return proto.CompactTextString(m) }
 func (*LogicalDevices) ProtoMessage()    {}
 func (*LogicalDevices) Descriptor() ([]byte, []int) {
-	return fileDescriptor_logical_device_eab9968d916b9ed2, []int{4}
+	return fileDescriptor_caf139ab3abc8240, []int{4}
 }
+
 func (m *LogicalDevices) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_LogicalDevices.Unmarshal(m, b)
 }
 func (m *LogicalDevices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 	return xxx_messageInfo_LogicalDevices.Marshal(b, m, deterministic)
 }
-func (dst *LogicalDevices) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_LogicalDevices.Merge(dst, src)
+func (m *LogicalDevices) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_LogicalDevices.Merge(m, src)
 }
 func (m *LogicalDevices) XXX_Size() int {
 	return xxx_messageInfo_LogicalDevices.Size(m)
@@ -333,11 +340,9 @@
 	proto.RegisterType((*LogicalDevices)(nil), "voltha.LogicalDevices")
 }
 
-func init() {
-	proto.RegisterFile("voltha_protos/logical_device.proto", fileDescriptor_logical_device_eab9968d916b9ed2)
-}
+func init() { proto.RegisterFile("voltha_protos/logical_device.proto", fileDescriptor_caf139ab3abc8240) }
 
-var fileDescriptor_logical_device_eab9968d916b9ed2 = []byte{
+var fileDescriptor_caf139ab3abc8240 = []byte{
 	// 512 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0x4f, 0x6b, 0x13, 0x41,
 	0x14, 0x77, 0x9b, 0x6c, 0x9a, 0xbc, 0x4d, 0x23, 0x8c, 0x94, 0x2e, 0xad, 0xd2, 0xb0, 0x78, 0x48,