Added support for 2015 team number parsing and test.

Change-Id: I736eb02ee6225e791fdc90523855715928bf4511
diff --git a/aos/common/network/team_number.cc b/aos/common/network/team_number.cc
index 134113a..4aa7626 100644
--- a/aos/common/network/team_number.cc
+++ b/aos/common/network/team_number.cc
@@ -14,21 +14,14 @@
 
 namespace aos {
 namespace network {
-namespace {
-
-uint16_t override_team;
-
-::std::string GetHostname() {
-  char buf[256];
-  buf[sizeof(buf) - 1] = '\0';
-  PCHECK(gethostname(buf, sizeof(buf) - 1));
-  return buf;
-}
-
+namespace internal {
 int ParseTeamNumber(const std::string &hostname, uint16_t *teamnumber) {
   for (size_t i = 0; i < hostname.size(); i++) {
     if (hostname[i] == '-') {
-      const std::string num_as_s = hostname.substr(i + 1);
+      const std::string num_as_s =
+          hostname[hostname.size() - 1] == 'C'
+              ? hostname.substr(i + 1, hostname.size() - 5 - i)
+              : hostname.substr(i + 1);
 
       int num;
       if (!::aos::util::StringToNumber(num_as_s, &num)) {
@@ -45,6 +38,18 @@
   }
   return -1;
 }
+}  // namespace internal
+
+namespace {
+
+uint16_t override_team;
+
+::std::string GetHostname() {
+  char buf[256];
+  buf[sizeof(buf) - 1] = '\0';
+  PCHECK(gethostname(buf, sizeof(buf) - 1));
+  return buf;
+}
 
 uint16_t *DoGetTeamNumber() {
   if (override_team != 0) return &override_team;
@@ -59,7 +64,7 @@
     LOG(WARNING, "team number overridden by AOS_TEAM_NUMBER to %" PRIu16 "\n",
         r);
   } else {
-    int error = ParseTeamNumber(GetHostname(), &r);
+    int error = internal::ParseTeamNumber(GetHostname(), &r);
     if (error) {
       LOG(FATAL, "Invalid hostname %s\n", GetHostname().c_str());
     }