bin field should allow strings and objects.

bin field should allow strings and objects. Added support for checking multiple types for a field value. Unit tests added.
Resolves gorillamania/package.json-validator#17

While resolving this issue, I noticed that arrays weren't properly being validated. Fixed logic for this and added some unit tests.

In a related issue, "main" field should be a string and not an array according to spec for npm and commonjs.