blog: Post about v0.9.4
lint
build: allow to specify custom tags

When building custom `node` versions (e.g., floating features/fixes from
different versions) it's often useful to specify a custom tag which
easily identifies build when invoking `node -v`.

Introduce a way to specify this tag in `node_version.h` file or by
running `./configure --tag="<tag>"`. Insert it right after the patch
version (and before `-pre`, if build is not a release).
deps: upgrade libuv to 4997738
blog: Post for v0.9.5
doc: add CONTRIBUTING.md
dgram: fix double implicit bind error

Calling send() on an unbound socket forces an implicit bind to
a random port.

332fea5 made the 'listening' event asynchronous. Unfortunately,
it also introduced a bug where the implicit bind was tried more
than once if send() was called again before the first bind operation
completed.

Address that by keeping track of the bind status and making sure that
bind() is called only once.

Fixes #4499.
os: change CPU time from Integer to Number

CPU time values must be Numbers, not Integers, as they can be too large
for Integers on 32 bit platforms.
deps: update v8 to 3.15.11
bindings: update to new v8 apis

GetPointerFromInternalField() is deprecated now, we should use
GetAlignedPointerFromInternalField().
test: make tests work with newer v8
v8: remove optimization switches

Remove compiler switches from $(TOPLEVEL)/deps/v8/build/common.gypi,
we set them globally in $(TOPLEVEL)/common.gypi.

Commit 7b4d95a introduced the switches again, resulting in V8 getting
built without any optimizations.

This commit is essentially a rehash of commit 4b8629d.
Merge remote-tracking branch 'origin/v0.8'
node: remove ev-emul.h

libev has been deprecated since v0.6. Add-on authors have had two major
release cycles to upgrade. Out it goes.