gyp: specialize node.d for freebsd

`node.d` should use `psinfo.d` instead of `procfs.d` and have statically
defined architecture on FreeBSD.
configure: allow --with-dtrace on freebsd
dtrace: workaround linker bug on FreeBSD
installer: copy `node.d` only with node_use_dtrace
doc: update assert.markdown

Update assert.throws() and assert.doesNotThrow() docs
stream: remove useless check
assert: Ensure reflexivity of deepEqual

Ensure that the behavior of `assert.deepEqual` does not depend on
argument ordering  when comparing an `arguments` object with a
non-`arguments` object.
http: invoke createConnection when no agent

This makes it so that the user may pass in a
`createConnection()` option, and they don't have
to pass `agent: false` at the same time.

Also adding a test for the `createConnection` option,
since none was in place before.

See #7014.
test: add `agent: null` http client request test

This is just the test portion from #7012 / #7189,
but targetted for the v0.10 branch.
src: use new loop API

uv_loop_new and uv_loop_delete are considered deprecated now.
src: emit 'beforeExit' event on process object

Unlike the 'exit' event, this event allows the user to schedule more
work and thereby postpone the exit.  That also means that the
'beforeExit' event may be emitted many times, see the attached test
case for an example.

Refs #6305.
doc: document `beforeExit` and add more tests
stream_wrap: don't write twice on uv_try_write err

fix #7155
node: invoke `beforeExit` again if loop was active

When `setImmediate(cb)` is called in `beforeExit` event handler the
consequent `uv_run(..., UV_RUN_NOWAIT)` may return `0`, even if there
was some active handles at start.

Fixes simple/test-beforeexit-event.js.
smalloc: remove `env.h` include

Since `smalloc.h` is included in a `node_buffer.h`, including private
headers in it is strictly prohibited.

fix #7206
Merge remote-tracking branch 'origin/v0.10'

Conflicts:
	configure
	lib/_stream_readable.js
	lib/http.js
	src/node_dtrace.cc
crypto: fix CipherFinal return value check
crypto: allow setting add'l authenticated data
fs: Improve performance of fs.stat and related functions.

As suggested by @trevnorris in joyent/node#6662 moved the setting of
object properties from C++ to JavaScript. Specifically, remove calls to
stats->Set and instead set properties of the stats object in JavaScript
with a call to a new function fs.Stats.prototype.buildStatsObject.

Note that the returned value from fs.stat changes slightly for non-POSIX
systems. Whereas before the stats object would be missing blocks and
blksize keys, it now has these keys with undefined as the value.
fs: PR-fix. Fix use of node_isolate.

As suggested by @indutny.