String conversion to binary array

NuPIC Network API lacks of a mechanism to read binary arrays from a record and pass them to  PassThroughEncoder. The problem is that FileRecordStream only accepts 'string', 'datetime', 'int', 'float', 'bool' for record data types in CSV files.

This PR brings a simple solution to this. We simply use `string` as data-type for the binary array:

```
Square
string
T
000000000000000000000000000000000110000000000000011000000000000000000000000000000000000000000000
000000000000000000000000000000000000110000000000000011000000000000000000000000000000000000000000
000000000000000000000000000000000000000110000000000000011000000000000000000000000000000000000000
000000000000000000000000000000000000000000110000000000000011000000000000000000000000000000000000
000000000000000000000000000000000000000000000110000000000000011000000000000000000000000000000000
```

And then we adjust PassThroughEncoder to check if the value passed to it is a list of 0's and 1's or a string containing only 0's and 1's to be splitted into a list of integers. Something like that:

```
def encodeIntoArray(self, input, output):
  """See method description in base.py"""

  if isinstance(input, basestring):
    strInput = input
    input = []
    for c in strInput:
      if c == '0':
        input.append(0)
      elif c == '1':
        input.append(1)
      else:
        raise ValueError("Input should be string only with 0's and 1's.")
```
It is certainly acceptable to take multiple types in some situations. It just doesn't seem like a clean design here. The pass through encoder takes bit arrays. The only reason we want to accept strings is to support the file format. And the file format already has the logic for knowing how to parse different types of data. So it seems much cleaner to have the file record stream understand the string->array conversion for this type so the encoder doesn't have to worry about it.

Don't you think that will keep the encoder code cleaner?