You don't want to merge this but I had to add this to build on Fedora 20

I am unfamiliar with C++ namespace semantics, so I'm at a loss as to why your version is not compiling here. 

    $ rpm -q gcc-c++$
    gcc-c++-4.8.2-7.fc20.x86_64
    $ rpm -qf /usr/include/string.h
    glibc-headers-2.18-12.fc20.x86_64

Here is the compile error I get before adding the declaration:

    gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
    make: Entering directory `/home/nico/git/node-augeas/build'
      CXX(target) Release/obj.target/augeas/libaugeas.o
    ../libaugeas.cc: In static member function ‘static v8::Handle<v8::Value> LibAugeas::print(const v8::Arguments&)’:
    ../libaugeas.cc:804:29: error: ‘strlen’ was not declared in this scope
                 line[strlen(line) - 1] = '\0';
                                 ^
    make: *** [Release/obj.target/augeas/libaugeas.o] Error 1
    make: Leaving directory `/home/nico/git/node-augeas/build'
    gyp ERR! build error 


gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory `/home/nico/git/node-augeas/build'
  CXX(target) Release/obj.target/augeas/libaugeas.o
../libaugeas.cc: In static member function ‘static v8::Handle<v8::Value> LibAugeas::print(const v8::Arguments&)’:
../libaugeas.cc:804:29: error: ‘strlen’ was not declared in this scope
             line[strlen(line) - 1] = '\0';
                             ^
make: *** [Release/obj.target/augeas/libaugeas.o] Error 1
make: Leaving directory `/home/nico/git/node-augeas/build'
gyp ERR! build error