Getlist updates

add `:use_external_id` and `:allow_incomplete` flags to be set on get_list actions 
add `:get_list` actions to all records that support it
I like supporting lookups by `external_id` as well as `internal_id`, however this approach forces the use of one or the other.  The existing api we need to maintain support of is:

```ruby
get_list(list: [1, 2, 3])  # internal_ids
```

What do you think about extending this to also accept an array of record refs ([which is actually what the NS api expects](https://system.netsuite.com/help/helpcenter/en_US/Output/Help/SuiteCloudCustomizationScriptingWebServices/SuiteTalkWebServices/getList.html)):

```ruby
get_list(list: [1, { internal_id: 2 }, { external_id: 4}])
```

The implementation could treat non-hash objects as the value for the `internal_id` (maintaining the existing API) while treating hashes as record ref attributes.  It can merge in the `@typeId` and `xsi:type` attributes as well, so the user doesn't have to include it.