RFC: Allow general vertex types (fixes #105)

* As noted in #105, before this PR, vertices really only
  could be Integers (including Char), KeyVertex, or ExVertex,
  mostly because of explicit calls to vertex_index(v).
* This PR changes most calls of vertex_index(v) to
  vertex_index(v,g), and makes sure to only call
  vertex_index(v) for types that it is defined for
* Also provides a slow fallback vertex_index(v,g) for
  non-provided vertex types when the graph's vertex list
  is an AbstractArray.
* Tests also included
Remove @assertions during vertex, edge creation

* These were restricted so that the number and element location
  were identical
Merge pull request #106 from JuliaLang/kms/general_vertex_types

RFC: Allow general vertex types (fixes #105)