multi: remove 'Curl_one_easy' struct, phase 1

The motivation for having a separate struct that keep track of an easy
handle when using the multi handle was removed when we switched to
always using the multi interface internally. Now they were just two
separate struct that was always allocated for each easy handle.

This first step just moves the Curl_one_easy struct members into the
SessionHandle struct and hides this somehow (== keeps the source code
changes to a minimum) by defining Curl_one_easy to SessionHandle

The biggest changes in this commit are:

 1 - the linked list of easy handles had to be changed somewhat due
     to the new struct layout. This made the main linked list pointer
     get renamed to 'easyp' and there's also a new pointer to the last
     node, called easylp. It is no longer circular but ends with ->next
     pointing to NULL. New nodes are still added last.

 2 - easy->state is now called easy->mstate to avoid name collision
multi: remove easy_handle struct field

It isn't needed anymore
multi: remove the multi_pos struct field

Since Curl_one_easy is really a SessionHandle now, this indirection
doesn't exist anymore.
multi: rename all Curl_one_easy to SessionHandle
multi: remove the one_easy struct field

Since the merge of SessionHandle with Curl_one_easy, this indirection
isn't used anymore.
multi: remove data->state.current_conn struct field

Not needed
configure: rephrase the notice in _XC_CHECK_VAR_*

Instead of claiming it is an error, we call it a "note" to reduce the
severity level. But the following text now says the [variable] "*should*
only be used to specify"... instead of previously having said "may".
configure: don't error out on variable confusions, just warn
Skip more untrusted certificates.

Christian Heimes brought to our attention that the certdata.txt
format has recently changed [1], causing ca-bundle.crt created
with mk-ca-bundle.[pl|vbs] to include untrusted certs.

[1] http://lists.debian.org/debian-release/2012/11/msg00411.html
formadd: wrong pointer for file name when CURLFORM_BUFFERPTR used

The internal function that's used to detect known file extensions for
the default Content-Type got the the wrong pointer passed in when
CURLFORM_BUFFER + CURLFORM_BUFFERPTR were used. This had the effect that
strlen() would be used which could lead to an out-of-bounds read (and
thus segfault). In most cases it would only lead to it not finding or
using the correct default content-type.

It also showed that test 554 and test 587 were testing for the
previous/wrong behavior and now they're updated as well.

Bug: http://curl.haxx.se/bug/view.cgi?id=1262
Reported-by: Konstantin Isakov
Revert "configure: don't error out on variable confusions, just warn"

This reverts commit 6b27703b5f525eccdc0a8409f51de8595c75132a.
configure: warn on bad env variable use, don't error

Use XC_CHECK_BUILD_FLAGS instead XC_CHECK_USER_FLAGS.