added compare function as option and some more functions

Hi Charlie,
I have done many changes. Major changes are:
- add option to pass compare function while initiating the class. This helps to add objects also rather than simple values.
- added few functions pop, upperBound, lowerBound, upperCount, lowerCount
- added module .exports for nodejs 'require'
- fixed error for remove when list contains only one node
- some fixes that I encountered while using it.

One more query, basically in my application I require only Sorted-Linkded-List not circular one. Any way your module (ie. circular one) also can be used but if Sorted-Linked-List is available my code would be much more simpler. Can you suggest any module for Sorted-Linked-List?

Gagan

 
In options we can pass compare function. like 
```
var list = new SortedCircularDoublyLinkedList({ 
  compare: function(a,b) {
    return a.val - b.val;
  }
});
```
head and tail also can be passed as in options object.