not necessary to pad buffer hex output

...the hex output already contains a '0' at the start of necessary.

for instance:

(new Buffer('05', 'hex')).toString('hex') == '05';
true
padding hex no longer necessary with new bn.js

...also, make the reversebuf function a little more convenient to use, and
clean up code accordingly.
simplify BN and Point code

BN is "inherited" from bn.js, and Point is "inherited" from elliptic's point
class. However, both code did not really properly use inheritance, but rather
modified the parent classes. Here we simply and remove any code that pretends
this code does anything other than that. The parent BN and Point are indeed
modified to produce our local BN and Point classes. If someone else uses
fullnode and bn.js and elliptic, then their classes will be modified as well.

It would be preferable to use proper inheritance here, but this is easier said
than done, because elliptic's point class depends on bn.js. We would have to
modify every point function to return our local BN objects rather than the
bn.js objects. We'll save that for another day.
add testing and bundle info to README
BN called without "new" should understand base

Previously, calling BN('ff00', 16) would not parse the base. This only occurred
when not using "new". Here we fix that bug as well as update tests to use the
more common use case of not using "new".
add fromX prototype convenience method

The way objects in fullnode works is that typically you create a blank new
object, and then if you want to "set" something, you set an object. In this
case:

var p = Point().fromX(isOdd, x);

That's how it should work. Since we are now committing to simply extending
(rather than inheriting) the BN and Point classes from bn.js and elliptic, we
can easily create a prototype method for fromX by just setting all the
enumerable properties (the prototypes should be the same). So long as there are
no non-enumerable properties of a point, this should work correctly.
add npm-debug.log to .gitignore

This file often gets created by npm and it is annoying to see it in git all the
time.
do not override prototypes

When creating a new point with prototype.fromX, we should not copy the
prototype properties, because they are already set in the prototype.

Also add a test that makes sure this code is resilient against future changes
of elliptic's Point class. I wasn't really sure what the elements of elliptic's
Point class were, so here we make sure that the values they are today ['curve',
'type', 'precomputed', 'x', 'y', 'inf'] stay that way in any future updates of
this code. If the internal values of a Point ever change in elliptic, we will
have to thoroughly understand what they are and possibly update the fromX
function to act accordingly, if there is ever a discrepancy about what is
enumerable.
use more internally consistent "buf2" name

...nbuf might refer to a number. buf2 is more obviously a buffer.