Added 'basePath' and 'autoExtension' options, fix require directive so it inserts only once

Added two new options:

* basePath : If set, all inclusions will be based from the `basePath` instead of being relative to the file

* autoExtension: If set, all inclusions will automatically have the current file extension added to them

gulpfile.js
```
.pipe( include({
			basePath: './',
			autoExtension: true
		}) )
````

file1.js
```
//= require somewhere/secondary

// includes "/somewhere/secondary.js"
```

sub/file2.coffee
```
//= require somewhere/secondary

// includes "/somewhere/secondary.coffee"
```


Fixed the `require` directive so it inserts files only once.