Enforce void return on native class constructors/destructors.

Summary: Also allow omitting return type for these methods
(implicit void).

Closes #4044

Reviewed By: @paulbiss

Differential Revision: D1657375

Signature: t1:1657375:1415082475:bca86e2593d6003d94be5ed5f3dbd442200d986d
Canonicalize path in CURLOPT_POSTFILEDS '@file/name' usage

Summary: The CURLOPT_POSTFIELDS option takes an
overloaded value which may be of the form:

"@/path/to/file;type=text/plain;filename=foo"

The existing implementation assumed all filenames were
absolute paths, and was thus breaking on relative uris.

Add a call to File::TranslatePath() to canonicalize these.

Also addressed a possible race-condition when modifying
a constant c_str() which may belong to a shared static string.

(Hopefully)
Closes #4098

Reviewed By: @JoelMarcey

Differential Revision: D1656226

Signature: t1:1656226:1415077931:4f2d849b4ef669414dd7943de37601db4ed05c85