Handle non-strings in el-get-byte-compile-files

We check whether they are strings before wasting the time dispatching
to a subprocess.
Refactor all validotor functions

Now they all dispatch to "el-get-validate-collection", which is
general enough to handle any collection.