Fix use of fsm timeouts in 2i AAE

Joe pointed out some problems with FSM time outs in this code. It is
possible to set a timeout for the next FSM state, then receive a message
passed to handle_info and lose that timeout if not set again. Basically,
they are useless.
Refactored code to use gen_fsm:send_event_after() instead and managed
timer for the AAE pid request manually.
Also, a zero timeout transition was avoided by refactoring the code
around the next_partition state, which is now a simple function
directly executed from other states.
Also, if a request for an AAE pid every failed, the whole process would
have died silently. Instead, that is handled now like any other
partition error. So 2i AAE can happily go finishing the other
partitions.
Fix handling of timeouts and errors on AAE pid req

Results are expected to be partition_result records, not tuples.
Log AAE pid request failures during 2i repair
Merge pull request #845 from basho/bugfix/2i-aae-gen-fsm-timeout-races

Fix use of fsm timeouts in 2i AAE