Restrict table field value types

In order to be compatible with other clients, and RabbitMQ server at
version 3.1, only encode and decode types supported by the majority of
clients.

Ref #61
Go 1.0.3 compat
Document type assertion and int32 expectation
Merge pull request #61 from streadway/61-field-types

Audit other server and client field value types
Ignore the specification compiler during builds
Panic on unlikely new frame types
Correct generated isSoftExceptionCode

A little bit of C slipped through where a fallthrough is implicit.  This
should have read:

```
switch {
  case A:
    fallthrough
  case B:
    fallthrough
  case C:
    return true
}
```
Ignore all command outputs
Test under multiple go versions