Rewrite SSL buckets to work with pipelined connections.
Rewrite SSL buckets to work with pipelined connections.

* buckets/ssl_buckets.c:
  (bucket_list_t): Copied from aggregate buckets.
  (serf_ssl_stream_t): Abstract structure to store encrypt/decrypt streams.
  (ssl_context_t): Alter databuf to be a pointer to the encrypt/decrypt databuf;
  Leave a pointer to 'our' stream so that we can clean it up later.
  (bio_bucket_read, bio_bucket_write): Correct to use correct stream.
  (ssl_decrypt, ssl_encrypt): Now receive serf_ssl_context_t; read from
  decrypt stream.
  (ssl_init_context): Move to below ssl_encrypt/ssl_decrypt; initialize
  new databufs and buckets; 
  (ssl_free_context): Rearrange; clear decrypt/encrypt pending buckets.
  (serf_bucket_ssl_create): Remove unnecessary arguments.
  (serf_bucket_ssl_decrypt_create): Point to the decrypt databuf and stream.
  (serf_bucket_ssl_encrypt_create): Point to the encrypt databuf and stream;
  if we have multiple requests, append our request to the list.
  (serf_ssl_destroy_and_data): Don't delete stream...
  (serf_ssl_decrypt_destroy_and_data): Delete our stream and call delegate.
  (serf_ssl_encrypt_destroy_and_data): Advance the shared encryption stream
  when we are deleted; delete our stream and call delegate; abort() otherwise.
  (serf_ssl_read, serf_ssl_readline, serf_ssl_peek): Use databuf pointer.
  (serf_bucket_type_ssl_encrypt, serf_bucket_type_ssl_decrypt): Call delegate
  destroy function.

Manouchehri/serf,yesoce/serf,stoneCC/serf,zhupan/serf,x-clone/serf,idomon/serf,SirJson/serf,SirJson/serf,zhengcq315/serf,alex1818/serf,jandre/serf,idomon/serf,muthusuba/serf,muthusuba/serf,TommyU/serf,sworda/serf,zhupan/serf,soufianeEL/serf,justinweb/serf,KyleSanderson/serf,x-clone/serf,jandre/serf,wzugang/serf,krime/serf,stoneCC/serf,blueszhangsh/serf,x-clone/serf,google-code-export/serf,soufianeEL/serf,blueszhangsh/serf,lazysoez/serf,x-clone/serf,idomon/serf,sworda/serf,wzugang/serf,pengdu/serf,pengdu/serf,jandre/serf,TommyU/serf,stoneCC/serf,SirJson/serf,SirJson/serf,alex1818/serf,google-code-export/serf,jandre/serf,liuzongquan/serf,KyleSanderson/serf,stoneCC/serf,pengdu/serf,krime/serf,Manouchehri/serf,sworda/serf,liuzongquan/serf,zhupan/serf,justinweb/serf,sworda/serf,lazysoez/serf,soufianeEL/serf,krime/serf,KyleSanderson/serf,TommyU/serf,pengdu/serf,zhengcq315/serf,lazysoez/serf,zhupan/serf,justinweb/serf,alex1818/serf,blueszhangsh/serf,google-code-export/serf,muthusuba/serf,liuzongquan/serf,yesoce/serf,wzugang/serf,google-code-export/serf,idomon/serf,krime/serf,yesoce/serf,muthusuba/serf,lazysoez/serf,blueszhangsh/serf,alex1818/serf,Manouchehri/serf,Manouchehri/serf,liuzongquan/serf,justinweb/serf,zhengcq315/serf,zhengcq315/serf,KyleSanderson/serf,TommyU/serf,wzugang/serf,soufianeEL/serf,yesoce/serf