add support for index request
Fix broken http_client example

This just works around jamwt.com closing the connection on us.
Merge pull request #64 from dowski/master

diesel.protocols.http library + pool
1) no reason to use setattr
2) use std way to interact with repeated fields in palm
Merge pull request #61 from bukinr/master

riak index queries
Version bump for internal release
Fix a read error on some fds in pipeline.
A script to benchmark internal timer performance

I've been running this against the current code base and a patch I'm
working on. Useful to compare real-world performance when there are many
outstanding timers and events happening that cause the timers to get
cancelled.
Faster handling of many outstanding timers

AbstractEventHub.remove_timer now runs in O(1) time instead of O(N).
Additionally, a Python-level __cmp__ function that was called for every
outstanding Timer has been removed/avoided.

This is significant when you have many Loops blocked on something like:

    while True:
        evt, result = first(waits=[some_event], sleep=a_long_timeout)
        if evt == "sleep":
            break
        handle(result)

In the common case, some_event will trigger and the sleep is cancelled.
When you have many Loops running that code, and some_event firing many
times per second, remove_timer gets called quite a lot.

This change allows diesel to better scale to thousands of relatively
active Loops that use the above pattern.
Whitespace changes
Merge pull request #66 from dowski/better-timer-perf

Better Hub Timer Handling Performance
Version bump for release
Set epoll timeout on valid timer

The new efficient timer handling code was letting deleted timers sit at
the head of the timers deque, and we were setting the epoll timeout
based on their trigger_time, which was causing epoll spinning and 100%
CPU use (exactly the opposite of what we're looking for).
Version bump for release

Last version had a bug that was quickly found.
Based on reject pull request of dowski ( https://github.com/jamwt/diesel/pull/65/files )

Determination of IP/name is now done inside resolver.py as requested by jamwt

source_ip specification is now possible for Client as well as UDPClient. Having it inside UDPClient was a necessity as _setup_socket in UDPClient is called using code from Client's __init__
Merge pull request #67 from dliappis/client-improvements2

source_ip for Client and UDPClient and source IP resolution -- Client improvements based on dowski's PR