buffer: misc logic simplification

Includes:
* No need for `typeof` when checking undefined.
* length is coerced to uint so no need to check if < 0.
* Stay consistent and always throw `new` errors.
* Returning offset + magic number in every write is error prone. Instead
  return the central write function which returns the correct offset.
smalloc: add external to alloc with callbacks

Forgot to actually assign cb_info to the External in smalloc::Alloc()
that accepts a callback to be run in the weak callback.
src: cares_wrap: remove two unused variables
src: rename macros.py to notrace_macros.py

This incarnation of macros.py is only used to disable the (d)trace
macros. Rename it so it better reflects its purpose. A new macros.py
will be added in a follow-up commit.
tools: fix js2c macro expansion bug

If the same macro was used twice in close proximity, the second one
didn't get expanded.
lib: macro-ify type checks

Increases the grep factor. Makes it easier to harmonize type checks
across the code base.
src: move NODE_MODULE_VERSION to node_version.h
npm: Upgrade to v1.3.5
doc: explicitly set industry logo height
cluster: support setting data on shared server

If `obj` given to `cluster._getServer` has `_setServerData` or
`_getServerData` methods, the data will be synchronized across workers
and stored in master.
tls: share tls tickets key between cluster workers

fix #5871
uv: Upgrade to v0.10.13
2013.07.25, Version 0.10.14 (Stable)

* uv: Upgrade to v0.10.13

* npm: Upgrade to v1.3.5

* os: Don't report negative times in cpu info (Ben Noordhuis)

* fs: Handle large UID and GID (Ben Noordhuis)

* url: Fix edge-case when protocol is non-lowercase (Shuan Wang)

* doc: Streams API Doc Rewrite (isaacs)

* node: call MakeDomainCallback in all domain cases (Trevor Norris)

* crypto: fix memory leak in LoadPKCS12 (Fedor Indutny)
Merge branch 'v0.10.14-release' into v0.10
Now working on 0.10.15
blog: Post for v0.10.14
doc: document tls.Server 'secureProtocol' option
src: fix process.getuid() return value

And process.getgid() too.

Commit ed80638 changed fs.chown() and fs.fchown() to only accept
unsigned integers. Make process.getuid() and process.getgid() follow
suit.

This commit should unbreak npm on OS X - it's hitting the new 'uid must
be an unsigned int' check when installing as e.g. user 'nobody' (which
has an UID of -2 in /etc/passwd or 4294967294 when cast to an uid_t.)

Fixes #5904.
2013.07.25, Version 0.10.15 (Stable)

* src: fix process.getuid() return value (Ben Noordhuis)
Merge branch 'v0.10.15-release' into v0.10