relax typing on Associatives

1. Parsing operations sometimes result in Dict{Any,Any} which did not match the previous   
function Base.push!{K<:String}(df::DataFrame, associative::Associative{K,Any})  method.

2. There is no reason to require the length of a Dict to match the DataFrame column count, and sometimes we may want to load a subset of Dict fields into a DataFrame.

Also added a couple of tests for proper clean-up of Associatives following a type mis-match error.