forms.js - save forms submission content in a beacon

With this plugin all form submissions on a page are sent as a seperate beacon to the beacon server
this way you gain insight into the way people use your application support them beyond your normal
analysis and information sources.

Data gathered by this plugin may look like this:

```json
[
  {
    "name": "text",
    "value": "Cool",
    "type": "text",
    "id": "text"
  },
  {
    "name": "price_from",
    "value": "1",
    "type": "number",
    "id": "number"
  },
  {
    "name": "price_to",
    "value": "10",
    "type": "number",
    "id": "number"
  }
]
```

Where elements of the objects in the array map to this in the DOM:

- `name`: the `name` tag of a particular input element or textarea or other form submittable element
- `value`: the value returned by the browser for an element
- `type`: the type of an element such as text, password, number, radio, etc.
- `id`: the id attribute of the element

Legacy applications with only a limited amount of supportabillity and analytics on their own may be
helped by adding this to the customer support tool chain so as to understand what a user was using
the application for and help focus improvement plans on a specific goal.
the problem is that it would still be sent over the network, and in many cases, with site owners we work with, we've found that in order to meet some compliance regulations, they need these things filtered at the client.  perhaps we can have the blacklist of field names and field types passed in via `init`