ignore preamble

Skip preamble until the starting boundary.
This also handles extra CRLF added to the starting
boundary by some clients.
test cases on preamble handling
Merge pull request #189 from egirshov/preamble

Ignore preamble in multipart body
tolerate incorrect last boundary
Merge pull request #190 from egirshov/missing-hyphens

tolerate incorrect last boundary
restore support for 7bit/8bit transfer-encoding

7bit/8bit are essentially the same as binary, meaning no encoding is performed.
error handling improvements

- do not throw, emit 'error' event instead,
- do not emit 'end' after 'error'.
test case on transfer-encoding

Rename existing directory 'base64' to 'encoding' and add more test cases.
Merge pull request #192 from egirshov/transfer-encoding

Content-transfer-encoding fixes
Update lib/incoming_form.js

bug with content-disposition when name comes after filename. This is due to regex for name matches "filename" too..
add a test case on #163
Merge pull request #193 from egirshov/issue-163

Test case for #163
support for empty requests

In case of empty POST request, just emit 'end' rather than
complaing on possible missing Content-Type header
test cases on empty post requests
attach callback before parsing headers

In case callback function is given to form.parse(), it should be
attached to formidable events prior to writeHeaders()
Update test-incoming-from.js test case accordingly.