Add Cython bindings, remove VPR datatypes
Modify NetlistReader to be non-specific to VPR

Instead of checking pin-types, etc. while parsing the netlist file, just
store the list of connected pin names and _(i.e., do not perform net
processing besides storing the names of nets encountered when scanning
the pin connections of each block)_.

The following netlist data structures are created:

 * __Block-label-to-net-labels__
   - Mapping of each block-label to the list of labels of connected
     nets, in the pin order from the netlist.
 * __Net-labels__: Alphabetically sorted (ascending) list of net-labels.
 * __Global-labels__: Alphabetically sorted (ascending) list of net-labels.
 * __Block-types__:
   - For each block, in the order the block appears in the netlist file,
     the label for the type of block.

__NB__ The names of global pins are recorded in the `global_labels_`
  attribute of the `NetlistReader` class.  No processing is applied to
  block/net data structures based on whether or not the label of the
  corresponding block/net is present in the set of global-labels.  If
  global blocks/nets need to be handled differently, it is the
  responsibility of the calling code to handle the work.
Add block-used-pins and block-labels structures

Add the following data structures:

 * __Block-used-pins__
   - For each block, in the order the block appears in the netlist file,
     the list of indexes of pins for the corresponding block that are
     not "open".  __NB__ The pins of each block are 0-indexed according
     to the order the pins are listed in the netlist file.
 * __Block-labels__:
   - The list of labels for all blocks, in the order the blocks appear
     in the netlist file.
Migrate parser into VprNetParser.hpp, add Cython
Add compiled Ragel output, to compile without R...

Add compiled Ragel output, to compile without Ragel installed.  If Ragel
_is_ installed, the file `VprNetParser.c` may be regenerated using the
following command:

    ragel VprNetParser.rl
Update README
[NB] Add VprNetParser::block_sub_blocks_ attribute

__NB__ The `VprNetParser::block_sub_blocks_` may be used to determine
    whether a particular block has it's clock-pin (the last pin)
    connected.  This should indicate whether or not the block is acting
    as a synchronous block.
Add block-to-net/net-to-block methods to Cython...

Add the following methods to the Cython `cVprNetFileParser` extension
type:

 * `net_label_to_index`
 * `block_label_to_index`
 * `block_to_net_ids`
 * `net_to_block_ids`
 * `block_ids_by_type`

These methods should provide the required functionality to create an
instance of the `cyplace.cynetlist_data.Netlist.cNetlist` Cython
extension type.

__NB__ The above methods still need to be ported to the C++
  `VprNetlistReader` class.
Port block-to-net/net-to-block methods to C++...

Port the following methods from the Cython `cVprNetFileParser` extension
type to the C++ `VprNetParser` class:

 * `net_label_to_index`
 * `block_label_to_index`
 * `block_to_net_ids`
 * `net_to_block_ids`
 * `block_ids_by_type`

These methods should provide the required functionality to create an
instance of the `Netlist` C++ class.