[REEF-1879] Downgrade netty dependency to 4.0.23.Final

This addressed the issue by
  * downgrading REEF to use Netty 4.0.23.Final for Hadoop compatibility
  * updating NameLookupClient to throw NamingException on replyQueue.poll timeout instead of NullPointerException

JIRA:
  [REEF-1879](https://issues.apache.org/jira/browse/REEF-1879)

Pull request:
  This closes #1373
diff --git a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/evaluator/EvaluatorManagerFactory.java b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/evaluator/EvaluatorManagerFactory.java
index bd3d691..0e10680 100644
--- a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/evaluator/EvaluatorManagerFactory.java
+++ b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/evaluator/EvaluatorManagerFactory.java
@@ -61,7 +61,7 @@
 
     if (nodeDescriptor == null) {
       final String nodeId = resourceEvent.getNodeId();
-      LOG.log(Level.WARNING, "Node {} is not in our catalog, adding it", nodeId);
+      LOG.log(Level.WARNING, "Node {0} is not in our catalog, adding it", nodeId);
       final String[] hostNameAndPort = nodeId.split(":");
       Validate.isTrue(hostNameAndPort.length == 2);
       final NodeDescriptorEvent nodeDescriptorEvent = NodeDescriptorEventImpl.newBuilder().setIdentifier(nodeId)
diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
index 327b9d6..d5bf71a 100644
--- a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
+++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
@@ -49,6 +49,7 @@
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.Callable;
@@ -206,7 +207,8 @@
         }
       }
 
-      final List<NameAssignment> list = resp.getNameAssignments();
+      final List<NameAssignment> list = resp == null ? Collections.<NameAssignment>emptyList()
+          : resp.getNameAssignments();
       if (list.isEmpty()) {
         throw new NamingException("Cannot find " + id + " from the name server");
       } else {
diff --git a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/ChunkedReadWriteHandler.java b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/ChunkedReadWriteHandler.java
index e27de5d..bee3374 100644
--- a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/ChunkedReadWriteHandler.java
+++ b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/ChunkedReadWriteHandler.java
@@ -147,9 +147,9 @@
    */
   private byte[] sizeAsByteArr(final int size) {
     final byte[] ret = new byte[INT_SIZE];
-    final ByteBuf intBuffer = Unpooled.wrappedBuffer(ret);
+    final ByteBuf intBuffer = Unpooled.wrappedBuffer(ret).order(Unpooled.LITTLE_ENDIAN);
     intBuffer.clear();
-    intBuffer.writeIntLE(size);
+    intBuffer.writeInt(size);
     intBuffer.release();
     return ret;
   }
@@ -170,8 +170,8 @@
       return 0;
     }
 
-    final ByteBuf intBuffer = Unpooled.wrappedBuffer(data, offset, INT_SIZE);
-    final int ret = intBuffer.readIntLE();
+    final ByteBuf intBuffer = Unpooled.wrappedBuffer(data, offset, INT_SIZE).order(Unpooled.LITTLE_ENDIAN);
+    final int ret = intBuffer.readInt();
     intBuffer.release();
 
     return ret;
diff --git a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/NettyMessagingTransport.java b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/NettyMessagingTransport.java
index 08ab08f..2643030 100644
--- a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/NettyMessagingTransport.java
+++ b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/transport/netty/NettyMessagingTransport.java
@@ -320,7 +320,7 @@
         }
         break;
       } catch (final Exception e) {
-        if (e.getClass().getSimpleName().compareTo("AnnotatedConnectException") == 0) {
+        if (e.getClass().getSimpleName().compareTo("ConnectException") == 0) {
           LOG.log(Level.WARNING, "Connection refused. Retry {0} of {1}",
               new Object[]{i + 1, this.numberOfTries});
           synchronized (flag) {
diff --git a/pom.xml b/pom.xml
index 3b7870c..6633316 100644
--- a/pom.xml
+++ b/pom.xml
@@ -703,7 +703,7 @@
             <dependency>
                 <groupId>io.netty</groupId>
                 <artifactId>netty-all</artifactId>
-                <version>4.1.15.Final</version>
+                <version>4.0.23.Final</version>
             </dependency>
 
             <dependency>