Add option to pass in credentials per-request

Currently, the gem only really supports one NetSuite account at a time, since credentials are set on the NetSuite::Configuration model.

This pull request adds the functionality to pass in credentials at a request level, in addition to being able to set credentials on the model.

For example, to add a customer, you can do:
```
c = NetSuite::Records::Customer.new
c.email = 'blah@searchable.com'
c.entity_id = 'searchable'
c.company_name = 'company'

c.add({:email => 'netsuite@company.com', :password => 'company-password', :account => 'NSACCT1232'})
```

To get a location:
```
 NetSuite::Records::Location.get(1, {:email => 'netsuite@company.com', :password => 'KLJF!@#k213', :account => 'TDLKS1230898721'})

```
The previous workflow is still valid:
```
# configure netsuite module
NetSuite::Records::Location.get(1)
```

Note: the first 2 commits hold the relevant code changes, the third commit fixes all the specs.