EventHubSpout add configuration for max pending messages.

If downstream throughput of a Storm topology is low, the EventHubSpout keeps
sending tuples downstream but not get acked. This can result in OutOfMemoryError
in the worker process that runs EventHubSpout because the spout needs to cache
all pending messages.

We need to introduce a new configuration:
 Eventhubspout.max.pending.messages.per.partition
And the default value of this configuration is 1024. With this configuration,
if the pending messages reach this value, then EH spout won’t fetch more messages
from eventhubs entity.

Signed-off-by: Shanyu Zhao <shzhao@microsoft.com>
EventHubSpout add configuration for enqueuetime based receiver

Currently when a Storm topology first creates an EventHubSpout (no offset saved
in Zookeeper), it always fetches events from the oldest messages in the EventHubs.

One way to solve this problem is to provide an additional configuration
"eventhub.receiver.enqueuetime.after", which if set AND there is no offset saved
in Zookeeper (e.g. first time running the topology) then we’ll use it as the
enqueue-time-based filter to create EventHubs receiver. With this configuration,
Storm topologies can quickly “bootstrap” and starts from recent messages
(ignoring old messages in EventHubs).

Signed-off-by: Shanyu Zhao <shzhao@microsoft.com>
Fix pom.xml for storm-eventhubs project

Added copywrite headers, and also include curator framework jar
in the jars with dependencies (because storm relocates the jar).

Signed-off-by: Shanyu Zhao <shzhao@microsoft.com>